如何将对象放置在QFrame的范围内,因为我的头无法绕过它。我已经阅读了关于https://doc.qt.io/qtforpython/PySide2/QtWidgets/QFrame.html的文档,但我并不理解。我也看过各种代码片段,但似乎什么都做不了
当我尝试调用QPushButton或QFrame的方法时,两者似乎都没有相互交互的选项
from PySide2.QtWidgets import *
import sys
class ButtonTest(QWidget):
def __init__(self):
QWidget.__init__(self)
self.button1 = QPushButton("Button 1")
self.button2 = QPushButton("Button 2")
self.myframe = QFrame()
self.myframe.setFrameShape(QFrame.StyledPanel)
self.myframe.setFrameShadow(QFrame.Plain)
self.myframe.setLineWidth(3)
self.buttonlayout = QVBoxLayout(self.myframe)
self.buttonlayout.addWidget(self.button1)
self.buttonlayout.addWidget(self.button2)
self.setLayout(self.buttonlayout)
app = QApplication(sys.argv)
mainwindow = ButtonTest()
mainwindow.show()
sys.exit(app.exec_())
在构造布局时,它们将QFrame作为参数传入。这编译得很好,但框架却看不到
问题很简单:布局只能在小部件中建立,为了更好地理解,您必须知道:
等于:
在代码中,您首先指出buttonlayout处理myframe的子窗口小部件(
self.buttonlayout = QVBoxLayout(self.myframe)
),但随后您将其设置为处理窗口的子窗口(self.addWidget(self.myframe)
)解决方案是通过布局建立QFrame:
相关问题 更多 >
编程相关推荐