【问题标题】:Can I change the direction of the qt Qcombobox?我可以改变qt Qcombobox的方向吗?
【发布时间】:2018-11-17 01:05:02
【问题描述】:

我希望下拉列表始终位于选择窗口下方。 但是,似乎窗口是自动调整的。 下拉列表上升并被截断。 我想知道如何在不自动排序列表的情况下进行排序。

现在的情况是这样的:

前任) - - - - - - - - - - - - - - - - - - - |一个 | ↓ | -> |一个 | -------------------- -------- |乙| --------------------- | C | -------------------- C点击-> ------------------ |一个 | -------------------- |乙| -------------------- -------- | C | ↓ | -> | C | -------------------- --------

但我想要:

---------------------- -> ------------------ | C | ↓ | |一个 | ------------------------------------ -------- |乙| ------------------ | C | ------------------

请帮帮我。

【问题讨论】:

    标签: python python-3.x pyqt pyqt5 qcombobox


    【解决方案1】:

    您必须在弹出窗口显示后移动它,为此您必须移动作为 view() 父级的内部 QFrame,如下所示:

    import sys
    
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    class ComboBox(QComboBox):
        def showPopup(self):
            QComboBox.showPopup(self)
            self.view().parent().move(self.mapToGlobal(QPoint()))
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        w = QMainWindow()
        cw = QWidget()
        lay = QVBoxLayout(cw)
    
        view = ComboBox()
        view.addItems(["A", "B", "C"])
    
        lay.addWidget(view)
        lay.addWidget(QTableWidget())
        w.setCentralWidget(cw)
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

    • @semikim 如果我的回答对您有帮助,请不要忘记将其标记为正确,如果您不知道该怎么做,请查看tour,这是最好的感谢方式:)跨度>
    猜你喜欢
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2012-02-12
    • 2014-04-27
    相关资源
    最近更新 更多