PyQt输入对话框(QInputDialog)示例

对话窗口或对话框是大多数现代GUI应用程序不可或缺的一部分。

对话框定义为用户与程序之间进行通信的窗口。

计算机应用程序中的对话框是一个单独的窗口,用于与计算机通信信息,通常用于输入数据,修改数据,更改应用程序设置等。

 

QInputDialog输入对话框

QInputDialog提供了一个简单方便的对话框,可以从用户那里获取单个值。

输入值可以是字符串,数字或列表中的项。

qinput对话框

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

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.btn = QPushButton('Show Dialog', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.showDialog)

        self.le = QLineEdit(self)
        self.le.move(130, 22)

        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('Input Dialog')        
        self.show()

    def showDialog(self):
        text, ok = QInputDialog.getText(self, 'input dialog', 'Is this ok?')
        if ok:
            self.le.setText(str(text))

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

此示例具有一个按钮和一个单行文本编辑控件。

单击按钮以显示用于获取文本值的输入对话框。

单击确定按钮后输入的文本将显示在主窗口的行文本编辑控件中。

代码分析

此行显示“输入”对话框。

text, ok = QInputDialog.getText(self, 'input dialog', 'Is this ok?')

第一个字符串是对话框的标题,第二个字符串是对话框中显示的消息。

对话框返回输入的文本和布尔值。如果单击“确定”按钮,则布尔值为true。

if ok. self.le.setText(str(text))
    self.le.setText(str(text))

我们从此对话框收到的文本设置为单行文本编辑框控件的值。

标签

发表评论