如何更改按钮边框的半径

时间:2019-10-02 19:23:29

标签: python pyqt pyqt5

我想更改我的PushButton课程1的边框半径

试图在__init__中创建带有setStyleSheet的类Button并创建一个对象。

import sys

from pyto import *
from PyQt5 import QtCore, QtGui, QtWidgets


class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.lesson1 = Button()


class Button(QtWidgets.QPushButton):

    def __init__(self, parent = None):
        super(Button, self).__init__(parent)
        self.setStyleSheet('border-radius: 15px;')


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())

没有错误,但setStyleSheet不起作用。

1 个答案:

答案 0 :(得分:1)

代码self.ui.lesson1 = Button()不会替代Qt Designer创建的self.ui.lesson1,它只会导致将新的Button()分配给名称self.ui.lesson1。因此,如果要设置样式表,则不必创建另一个类:

# ...

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # self.ui.lesson1 = Button()
        self.ui.lesson1.setStyleSheet('border-radius: 15px; background-color: red;')

# ...

我添加了背景色以使半径可见。