【发布时间】:2018-11-11 01:28:09
【问题描述】:
我现在在 python 中使用 PyQt5 为我的程序开发 GUI。我在工具栏中添加了一些 QAction,例如开始、暂停和停止图标。但是,我不知道如何在主窗口的工具栏中添加 QSlider。我更喜欢将 QSlider 添加到由红色矩形标记的位置。谢谢!
【问题讨论】:
我现在在 python 中使用 PyQt5 为我的程序开发 GUI。我在工具栏中添加了一些 QAction,例如开始、暂停和停止图标。但是,我不知道如何在主窗口的工具栏中添加 QSlider。我更喜欢将 QSlider 添加到由红色矩形标记的位置。谢谢!
【问题讨论】:
QToolBar 具有允许您添加小部件的addWidget() 方法:
from PyQt5 import QtCore, QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
toolbar = self.addToolBar("toolbar")
toolbar.addAction("start")
toolbar.addAction("pause")
toolbar.addAction("stop")
self.slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
toolbar.addWidget(self.slider)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
【讨论】:
setFixedWitdh(),例如self.slider.setFixedWidth(100),另一方面,SetFocusPolicy建立焦点如何获取widget的策略,例如通过按小部件、使用 TAB 键等读取doc.qt.io/qt-5/qwidget.html#focusPolicy-prop。另一方面,如果我的回答没有忘记将其标记为正确,如果您不知道该怎么做,请查看tour,这是最好的感谢方式。
toolbar.addWidget(self.slider, alignment=QtCore.Qt.AlignCenter)。我认为这不会简单地起作用。这个slider 可以左对齐还是居中对齐?