【问题标题】:How to add QSlider to toolbar in mainwindow using pyqt5 in python如何在python中使用pyqt5将QSlider添加到主窗口的工具栏
【发布时间】:2018-11-11 01:28:09
【问题描述】:

我现在在 python 中使用 PyQt5 为我的程序开发 GUI。我在工具栏中添加了一些 QAction,例如开始、暂停和停止图标。但是,我不知道如何在主窗口的工具栏中添加 QSlider。我更喜欢将 QSlider 添加到由红色矩形标记的位置。谢谢!

【问题讨论】:

    标签: python pyqt5


    【解决方案1】:

    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_())
    

    【讨论】:

    • 酷!它对我有用。但是如何调整此滑块的大小?我的意思是它对我来说太长了。我已经尝试过 toolbar.setGeometry 功能,但它不起作用。还有一个问题,你知道toolbar.SetFoucusPolicy这个函数是做什么的吗?感谢您的帮助
    • @JiaweiLu 如果要设置固定宽度可以使用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 可以左对齐还是居中对齐?
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    相关资源
    最近更新 更多