【发布时间】:2023-04-05 21:27:01
【问题描述】:
我不知道如何创建带有两行小部件的工具栏。我正在开发一个 Python3/Qt4 项目。
我的猜测:
向工具栏小部件添加小部件
为小部件添加垂直布局(或QGridLayout,没关系)
将工具栏的按钮添加到布局中
但我得到的只是一个小而空的工具栏:我是否需要以某种方式“拉伸”小部件?
我的 Python3 代码,试图在工具栏中垂直插入两个按钮:
self.main_toolbar = self.addToolBar('MyToolBar')
self.toolbar_widget = QtGui.QWidget(self.main_toolbar)
self.toolbar_layout = QtGui.QVBoxLayout()
self.toolbar_widget.setLayout(self.toolbar_layout)
button1 = QtGui.QPushButton(self)
button1.setText("button1")
self.toolbar_layout.addWidget( button1 )
button2 = QtGui.QPushButton(self)
button2.setText("button2")
self.toolbar_layout.addWidget( button2 )
【问题讨论】:
-
为什么要将按钮添加到布局而不是工具栏小部件?尝试将按钮添加到工具栏_widget.addWidget(button1)
-
您无法将小部件添加到小部件:属性错误:'QWidget' 对象没有属性'addWidget'。
-
QToolbar 有一个方法 QAction * QToolBar::addWidget ( QWidget * widget )
-
精确:但 toolbar.addWidget(button1) 没有考虑垂直布局。或者我错过了什么?
-
我是 C++ 和 QT 用户,但布局和小部件的概念仍然相同,因此您可以在此布局中添加布局(垂直或水平),您只需添加工具栏小部件。但在您的工具栏小部件您将添加所有必需的按钮,在工具栏小部件中添加所有按钮后,您只需调用 layout->addWidget(QToolBar*)。希望它澄清