我想在pyqt中创建自己的Qpushbutton形状。 任何人都可以告诉我如何创建这个 感谢
答案 0 :(得分:4)
我认为您应该使用QT-Stylesheets来设置QPushButton
的样式self.Qpushbutton.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border:1px solid rgb(255, 170, 255);")
或border-image
为其添加图片
答案 1 :(得分:1)
以下是使用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_())