- QInputDialog介绍
- QColorDialog介绍
主要内容 #
完成效果 #
完成本节课程,能学会在窗口应用程序上增加文本对话框和改变颜色的对话框。
效果如下:
收获 #
学习完本节内容,我们会知道如何创建QInputDialog对话框控件,并利用QColorDialog更改对话框颜色。
1.QInputDialog介绍 #
对话框是一个现代GUI应用不可或缺的一部分。对话是两个人之间的交流,对话框就是人与电脑之间的对话。对话框用来输入数据,修改数据,修改应用设置等等。
QInputDialog提供了一个简单方便的对话框,可以输入字符串,数字或列表。以下是QInputDialog的简单示例:
# 注意,以下包都要导入,后面内容会用到 from PyQt5.QtWidgets import QWidget, QLineEdit, QInputDialog, QColorDialog, QApplication import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.le = QLineEdit(self) # 创建一个行文本框控件 self.le.move(130, 22) # 移动位置 # QInputDialog.getText()方法从控件获得标准字符串输入,第一个参数输入父窗口, # 第二个参数输入对话框的标题名,第三个参数是对话框的标签提示 # 返回值text是用户输入的字符串,okPressed是ok键的点击与否(True 或 False) text, okPressed = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:') # 如果ok键点击了,则让行文本框显示用户输入的字符串 if okPressed: self.le.setText(str(text)) # 设置窗口的位置和大小,前两个参数表示离屏幕左上角的坐标,后两个参数表示窗口的大小 self.setGeometry(300, 300, 500, 500) self.setWindowTitle('QInputDialog') # 设置窗口的标题 self.show() # 显示窗口 app = QApplication(sys.argv) # 创建应用程序 ex = Example() # 创建窗口对象 sys.exit(app.exec_()) # 设置关闭窗口后结束进程
拓展练习:多运行几次上述程序,尝试每次输入不同的姓名,中英文均可。
2.QColorDialog介绍 #
QColorDialog提供颜色的选择。以下是QColorDialog的简单示例:
col = QColorDialog.getColor() # QColorDialog.getColor()方法创建颜色选择对话框,返回的col是用户选择的颜色 # setStyleSheet()方法更改应用的显示风格,参数'QWidget {background-color:%s}'指定修改控件的背景颜色 self.setStyleSheet('QWidget {background-color:%s}' %col.name()) # col.name 是颜色的十六进制值
将这部分代码,添加到第一节PyQt5代码框架中的initUI中,注意要放在最前面。
拓展练习:运行上述程序,将对话框改为红色。
小结 #
习题 #
- 习题1:尝试修改QInputDialog的标签提示为‘Enter your favorite language’,然后输入语言名称。
- 习题2:多运行几次程序,尝试将对话框改为黄色、蓝色、黑色。