我想在 pyqt 中创建自己的 Qpushbutton 形状。谁能告诉我如何创建这个谢谢
问问题
5096 次
2 回答
4
我认为你应该使用 QT-Stylesheets 来设置 QPushButton 的样式
self.Qpushbutton.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border:1px solid rgb(255, 170, 255);")
或border-image
为其添加图片
于 2013-02-05T17:58:12.170 回答
2
这是一个使用QRegion
和setMask
自定义窗口形状、QPalette
更改背景颜色和setStyleSheet
其他属性的示例:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PyQt4 import QtGui, QtCore
class MyWindow(QtGui.QWidget):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.region = QtGui.QRegion(QtCore.QRect(0, 0, 222, 222), QtGui.QRegion.Ellipse)
self.setMask(self.region)
self.palette = QtGui.QPalette()
self.palette.setBrush(QtGui.QPalette.Background, QtGui.QColor('grey').dark(150))
self.setPalette(self.palette)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.label = QtGui.QLabel(self)
self.label.setText("A round widget!")
self.label.setStyleSheet("QLabel { background-color : lightblue; color : white; }")
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.layout = QtGui.QHBoxLayout(self)
self.layout.addWidget(self.label)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('MyWindow')
main = MyWindow()
main.resize(222, 222)
main.show()
sys.exit(app.exec_())
于 2013-02-05T23:38:51.720 回答