Python 我可以改变qt QCOMBOX的方向吗?
我希望下拉列表始终位于选择窗口下方。 但是,窗口似乎是自动调整的。 下拉列表向上移动并被截断。 我想知道你如何在下面排序而不自动排序列表 现在的情况是这样的: 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| -------------------Python 我可以改变qt QCOMBOX的方向吗?,python,python-3.x,pyqt,pyqt5,qcombobox,Python,Python 3.x,Pyqt,Pyqt5,Qcombobox,我希望下拉列表始终位于选择窗口下方。 但是,窗口似乎是自动调整的。 下拉列表向上移动并被截断。 我想知道你如何在下面排序而不自动排序列表 现在的情况是这样的: ex) ------------------ ------------------- | A | ↓ | -> | A | ------------------- -------------------
请帮帮我。您必须在弹出窗口显示后移动它,为此您必须移动内部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如果我的回答有助于您不要忘记将其标记为正确,如果您不知道如何做,请检查,这是表示感谢的最佳方式:)