Как добавить рамку вокруг QWidget? - PullRequest
3 голосов
/ 08 сентября 2011

Я использую PyQT4 для создания примера приложения для потенциального клиента.Я ищу способ поставить границу вокруг определенного виджета.Пожалуйста, дайте мне несколько указателей для поиска.

обновлено:

class CentralWidget(QtGui.QWidget):

    def __init__(self, mainWindow):
        super(CentralWidget, self).__init__()

        self.create(mainWindow)

Выше код определяет виджет.

1 Ответ

8 голосов
/ 08 сентября 2011

Согласно документации стилей, QWidget не поддерживает свойство border.

Вы должны использовать что-то вроде QFrame:

Вот полный пример

from PyQt4 import QtGui,QtCore

class CentralWidget(QtGui.QFrame):

    def __init__(self, *args):
        super(CentralWidget, self).__init__(*args)
        self.setStyleSheet("background-color: rgb(255,0,0); margin:5px; border:1px solid rgb(0, 255, 0); ")

if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    mw = QtGui.QMainWindow()
    w = CentralWidget(mw)
    mw.setCentralWidget(w)
    mw.show()
    w.show()
    app.exec_()
...