微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单击pyqt5

如何解决单击pyqt5

单击QMainWindow上的按钮时,PYQT5演示将显示模式自定义QDialog窗口.QDialog具有带有QCompleter的QLineEdit.Key Down&Up可用于选择弹出项,但我不能使用鼠标单击并选择这也是因为弹出视图被冻结。我也想仅当使用鼠标单击该项目时,弹出项目文本才不会自动添加到QLineEdit中。

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication,QPushButton,QWidget,QVBoxLayout,QDialog,QLineEdit,QCompleter

items_list = ['John Doe','Jane Doe','Albert Einstein','Alfred E Newman']


class SecondDialog(QDialog):
    def __init__(self):
        super(SecondDialog,self).__init__()
        self.v_layout = QVBoxLayout()
        self.my_edit = QLineEdit()
        self.completer = QCompleter(items_list)
        self.my_edit.setCompleter(self.completer)
        self.v_layout.addWidget(self.my_edit)
        self.setLayout(self.v_layout)

class MyWindows(QMainWindow):
    def __init__(self):
        super(MyWindows,self).__init__()
        self.widget = QWidget()
        self.v_layout = QVBoxLayout(self.widget)
        self.my_btn = QPushButton("Open second Dialog")
        self.my_btn.clicked.connect(self.openDialog)
        self.v_layout.addWidget(self.my_btn)
        self.setCentralWidget(self.widget)

    def openDialog(self):
        d = SecondDialog()
        d.exec_()

if __name__ == '__main__':
   app = QApplication(sys.argv)
   w = MyWindows()
   w.show()
   sys.exit(app.exec_())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。