Python 我可以改变qt QCOMBOX的方向吗?

Python 我可以改变qt QCOMBOX的方向吗?,python,python-3.x,pyqt,pyqt5,qcombobox,Python,Python 3.x,Pyqt,Pyqt5,Qcombobox,我希望下拉列表始终位于选择窗口下方。 但是,窗口似乎是自动调整的。 下拉列表向上移动并被截断。 我想知道你如何在下面排序而不自动排序列表 现在的情况是这样的: ex) ------------------ ------------------- | A | ↓ | -> | A | ------------------- -------------------

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

现在的情况是这样的:

ex) ------------------ ------------------- | A | ↓ | -> | A | ------------------- -------------------- | B | --------------------- | C | -------------------- C click -> ------------------- | A | -------------------- | B | ------------------- -------------------- | C | ↓ | -> | C | ------------------- -------------------- ex)--------------------------------- |A|↓ | -> | A| ------------------- -------------------- |B| --------------------- |C| -------------------- 点击-> ------------------- |A| -------------------- |B| ------------------- -------------------- |C|↓ | -> | C| ------------------- -------------------- 但我想:

---------------------- -> ------------------- | C | ↓ | | A | ----------------------- ------------------- | B | ------------------ | C | ------------------- ---------------------- -> ------------------- |C|↓ | | A| ----------------------- ------------------- |B| ------------------ |C| -------------------
请帮帮我。

您必须在弹出窗口显示后移动它,为此您必须移动内部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如果我的回答有助于您不要忘记将其标记为正确,如果您不知道如何做,请检查,这是表示感谢的最佳方式:)