第6天 | 28天学会PyQt5,文本输入对话框

对话框是一种特殊的视窗, 用来在用户界面中向用户显示信息,或者在需要的时候获得用户的输入响应。显示信息已经说过,接下来说一下文本输入对话框QInputDialog。

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

在QInpuTDialog控件中可以输入数字(整型或浮点型),字符串或列表中的选项,标签用于提示必要的信息。getInt()获得输入的整数;getDouble()获得输入的浮点数;getText()获得输入的字符串;getItem()获得列表里的选项输入。

程序清单:input_dialog.py

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, 
  QPushButton, QInputDialog


# 继承QWidget
class Dialog(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        # 字符串对话框
        text_btn = QPushButton("字符串输入对话框", self)
        text_btn.clicked.connect(self.text_dialog)
        text_btn.move(10, 10)
        # 整数对话框
        int_btn = QPushButton("整数输入对话框", self)
        int_btn.clicked.connect(self.int_dialog)
        int_btn.move(180, 10)
        # 浮点数对话框
        double_btn = QPushButton("浮点数输入对话框", self)
        double_btn.clicked.connect(self.double_dialog)
        double_btn.move(10, 60)
        # 选项对话框
        item_btn = QPushButton("选项对话框", self)
        item_btn.clicked.connect(self.item_dialog)
        item_btn.move(180, 60)
        # 调整窗口大小
        self.resize(900, 500)
        # 窗口居中
        self.center()
        # 窗口标题
        self.setWindowTitle("对话框应用")
        # 显示窗口
        self.show()

    # 字符串输入对话框
    def text_dialog(self):
        name, ok = QInputDialog.getText(self, "姓名", "请输入你的姓名")
        if ok:
            print("你叫%s" % name)

    # 整数输入对话框
    def int_dialog(self):
        age, ok = QInputDialog.getInt(self, "年龄", "请输入你的年龄")
        if ok:
            print("你输入了%d岁" % age)

    # 浮点数输入对话框
    def double_dialog(self):
        stature, ok = QInputDialog.getDouble(self, "身高", 
                                             "请输入你的身高(米)", 
                                             0, 0.1, 5, 4)
        if ok:
            print("你有%f米" % stature)

    # 列表选项对话框
    def item_dialog(self):
        ls = ["男", "女"]
        gender, ok = QInputDialog.getItem(self, "性别", "请选择性别", ls)
        if ok:
            print("你是%s的" % gender)

    # 实现居中
    def center(self):
        f = self.frameGeometry()
        c = QDesktopWidget().availableGeometry().center()
        f.moveCenter(c)
        self.move(f.topLeft())


if __name__ == "__main__":
    app = QApplication(sys.argv)
    w = Dialog()
    sys.exit(app.exec_())

运行程序之后,弹出的窗口如下:

第6天 | 28天学会PyQt5,文本输入对话框

好了,文本输入对话框的内容就说到这里了,关注我,下一节更精彩。

码字不易,你的关注和转发是对我最大的鼓励,谢谢!

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!

 

 

上一篇:python 里shutil.copy和shutil.move


下一篇:Gitlab搭建部署及配置