gpt4 book ai didi

python - QFrame边框不显示

转载 作者:行者123 更新时间:2023-12-01 00:39:37 25 4
gpt4 key购买 nike

我正在尝试使用QFrame为一组小部件创建一个绑定(bind)框架。
最终,我未能创建一个纯粹的空框架,如 Qt documentation 中所示。 (参见页面中间的表格)。 QFrame 本身创建没有问题,但显然样式无法应用,因此小部件不可见。

使用 .setFrameStyle() 设置样式

这是一个人为的示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QFrame

if __name__ == '__main__':

app = QApplication(sys.argv)

window = QWidget()
window.resize(250, 150)
window.move(300, 300)
window.setWindowTitle('Sample')

window.frame = QFrame(window)
window.frame.setLineWidth(5)
window.frame.setFrameStyle(QFrame.StyledPanel | QFrame.Raised)
# window.frame.setStyleSheet("background-color: rgb(200, 255, 255);"
# "border-width: 1;"
# "border-radius: 3;"
# "border-style: solid;"
# "border-color: rgb(10, 10, 10)"
# )

window.frame.move(20, 20)
window.show()

sys.exit(app.exec_())

如果我取消注释 .setStyleSheet() 调用,我会得到某种所需的效果,但我对无法使用 .setFrameStyle() 实现相同的效果感到困惑

使用 .setStyleSheet() 设置样式

我使用的是Python 3.7,PyQt 5.11.3

最佳答案

如果它不是您默认样式的一部分(我认为它是“windows”样式),那么这不是一个错误,在我的例子中,我使用“fusion”样式,并且我没有观察到您的行为指出。

@ekhumoro指出,StylePanel是一个Panel,即绘制一个矩形面板,但尊重当前的QStyle。如果您希望绘制矩形面板,则必须使用 QFrame.Panel 选项而不是 QFrame.StylePanel。

window.frame.setFrameStyle(QFrame.Panel | QFrame.Raised)

关于python - QFrame边框不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com