我在Qt-docs中找到了 QGroupbox 类的 flat 属性,它说:
组框通常由顶部带有标题的周围框架组成。如果启用此属性,则大多数样式只绘制框架的顶部;否则,将绘制整个框架。
我正在尝试构建这样一个扁平的 QGroupBox,但它似乎不起作用,正如您在这张图片中看到的那样。在文档中它还说:
注意:在某些样式中,扁平组框和非扁平组框具有相似的表示,并且可能不像在其他样式中那样可区分。
这将我引向QStyle Class,这让我有点过度紧张,因为我不知道如何更改 QGroupBox 的样式。我什至不确定,这是否是这里的真正问题。正如您在下面的代码中看到的,我没有为 QGroupBox 分配特定的样式。所以,它应该使用某种标准风格,我猜......
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QGroupBox,
QVBoxLayout, QLabel
class WidgetWithFlatGroupBox(QWidget):
def __init__(self):
QWidget.__init__(self, flags=Qt.Widget)
self.init_ui()
def init_ui(self):
self.setGeometry(300, 300, 300, 100)
self.setWindowTitle('PyQt5 Window')
layout = QVBoxLayout()
layout.addWidget(self.create_groupbox(), alignment=Qt.AlignCenter)
self.setLayout(layout)
def create_groupbox(self):
groupbox = QGroupBox('Flat Groupbox')
layout = QVBoxLayout()
label = QLabel('This Groupbox should be flat.')
layout.addWidget(label, alignment=Qt.AlignCenter)
groupbox.setLayout(layout)
groupbox.setFlat(True)
return groupbox
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = WidgetWithFlatGroupBox()
ex.show()
sys.exit(app.exec_())
我看了一下互联网,当然也在这里 stackoverflow,但找不到有用的东西。有谁知道如何正确使用 QGroupBox 类的 flat 属性?