【发布时间】:2021-10-12 03:46:12
【问题描述】:
我有一个如下所示的 Qt 小部件:
class launchiiwidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
layout = QtWidgets.QVBoxLayout(self)
self.textbox = QtWidgets.QTextEdit(self)
self.textbox.setLineWrapMode(QtWidgets.QTextEdit.NoWrap)
self.textbox.setAlignment(QtCore.Qt.AlignCenter)
self.textbox.setFixedSize(QtCore.QSize(600, 100))
self.textbox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.textbox.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
layout.addWidget(self.textbox)
font = self.textbox.font()
font.setPointSize(80)
self.textbox.setFont(font)
self.listwidget = QtWidgets.QListWidget(self)
self.listwidget.addItem("Red")
self.listwidget.addItem("Blue")
layout.addWidget(self.listwidget)
if __name__ == "__main__":
app = QtWidgets.QApplication([])
widget = launchiiwidget()
widget.setWindowFlags(QtCore.Qt.FramelessWindowHint)
widget.resize(600, 200)
widget.show()
sys.exit(app.exec())
我怎样才能做到当按下“返回”或“右箭头键”时,焦点从当前位置移动到listwidget 中的第一项?这也应该在集中在文本框内时起作用,而不会触发换行符。
注意:项目会动态添加到列表小部件中。
【问题讨论】:
-
请修正缩进,同时提供Minimal Reproducible Example
-
我已经解决了问题,抱歉!
-
@WoaItsBren QListWidget 没有任何项目,那么 listwidget 中的第一项 是什么意思?
-
@eyllanesc 抱歉,项目被动态添加到 qlistwidget,我添加了一些占位符!