对话框类控件-QInputDialog

QInputDialog控件是一个标准对话框,由一个文本框和两个按钮(OK按钮和Cancle按钮)组成。当用户单击OK按钮或按Enter键后,在父窗口可以收集通过QInputDialog控件输入的信息。QInputDialog是QDialog标准对话框的一部分。

在QInputDialog控件中可以输入数字/字符串或列表中的选项。标签用于提示必要的信息。

QInputDialog类中的常用方法:

  getInt()    从控件中获得标准整数输入

  getDouble()  从控件中获得标准浮点数输入

  getText()    从控件中获得标准字符串输入

  getItem()    从控件中获得列表里的选项输入

案例22  QInputDialog的使用

import sys
from PyQt5.QtWidgets import QWidget, QApplication, QInputDialog, QPushButton, QFormLayout, QLineEdit


class InputDialog(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        layout = QFormLayout()
        self.btn1 = QPushButton("获得列表里的选项")
        self.btn1.clicked.connect(self.getItem)
        self.le1 = QLineEdit()
        layout.addRow(self.btn1, self.le1)

        self.btn2 = QPushButton("获得字符串")
        self.btn2.clicked.connect(self.getText)
        self.le2 = QLineEdit()
        layout.addRow(self.btn2, self.le2)

        self.btn3 = QPushButton("获得整数")
        self.btn3.clicked.connect(self.getInt)
        self.le3 = QLineEdit()
        layout.addRow(self.btn3, self.le3)

        self.setLayout(layout)
        self.setWindowTitle("InputDialog 例子")

    def getItem(self):
        items = ("C", "C++", "Java", "Python")
        item, ok = QInputDialog.getItem(self, "select input dialog", "语言列表", items, 0, False)
        if ok and item:
            self.le1.setText(item)

    def getText(self):
        text, ok = QInputDialog.getText(self, "Text Input Dialog", "输入姓名:")
        if ok:
            self.le2.setText(str(text))

    def getInt(self):
        text, ok = QInputDialog.getInt(self, "integer Input Dialog", "输入数字:")
        if ok:
            self.le3.setText(str(text))

        
if __name__ == "__main__":
    app = QApplication(sys.argv)
    demo = InputDialog()
    demo.show()
    sys.exit(app.exec_())

 

posted @ 2020-08-03 15:53  Laney_Sun  阅读(304)  评论(0编辑  收藏  举报