Python的PyQt框架的使用-常用控件篇
- 一、前言
- 二 、QLineEdit 文本框
- 三 、QPushButton按钮控件
- 四、QRadioButton 单选按钮
一、前言
- 个人主页: ζ小菜鸡
- 大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Python的PyQt框架的常用控件。
- 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)
二 、QLineEdit 文本框
QLineEdit 是单行文本框,该控件只能输入单行字符串。QLineEdit 控件还有一个兄弟是QTextEdit控件,它是多行文本框,可以输入多行字符串。
QLineEdit 的常用方法如下表所示:
方法名称 | 描述 |
---|---|
setText() | 设置文本框内显示的内容 |
text() | 获取文本框内容 |
setPlaceholderText() | 设置文本框浮显文字 |
setMaxLength() | 设置文本框显示字符的模式。有以下4种模式: 1.QLineEdit.Normal,显示输入的字符,这是默认设置。 2.QLineEdit.NoEcho,不显示任何所输入的字符,适用于即使密码长也需要保密的密码。 3.QLineEdit.Password,显示与平台相关的密码掩码字符,而不是实际输入的字符。 4.QLineEdit.PasswordEchoOnEdit,在编辑时显示字符,失去焦点后显示密码掩码字符。 |
clear() | 清楚文本框内容 |
QLineEdit 控件实现登录界面
使用QLabel 与 QLineEdit 单行文本框控件,实现一个包含用户名和密码的登录界面。具体步骤如下:
(1)打开Qt Designer 工具,根据需求,在控制与布局的列表中向主窗体拖入两个Label控件与两个LineEdit控件,然后为Label控件修改需要显示的文字,如下图所示:
(2)选中主窗体的空白处,然后在右侧的属性编辑器中,找到windowTitle属性并将标题名称修改为“QLineEdit 单行文本框”,如图所示:
(3)分别选中显示“账号”与“密码”的Label控件,然后在右侧的属性编辑器中,找到font属性并将“点大小(字体大小)”值修改为“12”,如图所示:
(4)分别选中需要输入“账号”与“密码”的QLineEdit单文本框,然后在右侧的属性编辑器中,找到placeholderText属性,并将值(浮显文字)修改为“请输入账号”与“请输入账号”,如图所示:
(5)选中输入密码的QLineEdit控件,然后在右侧的属性编辑器中,找到echoMode属性,并将值(显示字符模式)修改为“Password”,如图所示:
(6)保存设计窗体的.ui文件转换为.py文件,导入sys模块,再添加显示主窗体的show_MainWindow()方法,最后在程序的入口调用该方法,运行程序后,主窗体默认显示如图所示:
然后分别输入账户与密码后将显示如图所示:
显示主窗体的show_MainWindow()方法,代码如下:
def show_MainWindow():
app = QtWidgets.QApplication(sys.argv) # 实例化QApplication类,作为GUI主程序入口
Mainwindow = QtWidgets.QMainWindow() # 创建MainWindow
ui = Ui_MainWindow() # 实例UI类
ui.setupUi(Mainwindow) # 设置窗体UI
Mainwindow.show() # 显示窗体
sys.exit(app.exec_()) # 当窗口创建完成,需要结束主循环过程
if __name__ == "__main__":
show_MainWindow()
QTextEdit多行文本框控件,可以显示多行的文本内容,当文本内容超出控件显示范围时,该控件将显示垂直滚动条。QtextEdit控件不仅可以显示文本内容,还可以显示HTML文档信息。
QTextEdit的常用方法如表所示:
方法名称 | 描述 |
---|---|
setPlainText() | 设置文本内容 |
toPlainText() | 获取文本内容 |
setTextColor() | 设置文本颜色,例如,红色可以将参数设置为QtGui.QColor(255,0,0) |
setTextBackgroundColor() | 设置文本的背景颜色,颜色参数与setTextColor()相同 |
setHtml() | 设置HTML文本内容 |
toHtml() | 获取HTML文本内容 |
wordWrapMode() | 设置自动换行 |
clear() | 清楚所有内容 |
三 、QPushButton按钮控件
QPushButton是PyQt中最普通也是最常用的按钮之一,QPushButton的常用方法如下表所示:
方法名称 | 描述 |
---|---|
setText() | 设置按钮所显示的文本 |
text() | 获取按钮所显示的文本 |
setIcon() | 设置按钮上的图标,可以将参数设置为QtGui.QIcon("图标路径) |
setIconSize() | 设置按钮图标的大小,参数设置为QtCore.QSize(int width,int height) |
setEnabled() | 设置按钮是否可用,参数设置为False时,按钮为不可用状态 |
setShortcut() | 设置按钮的快捷键,参数可以设置为键盘中的按钮或组合键,例如“Alt+0” |
如果需要QPushButton控件实现1个单击效果的时候,可以使用以下的代码:
# 参数中的self.click为单击事件所触发的方法名称
self.pushButton.clicken.connect(self.click)
四、QRadioButton 单选按钮
QRadioButton也是按钮的一种,多数用于实现“二选一” 或 “多选一”的选择现象。QRadioButton的常用方法如下表所示:
方法名称 | 描述 |
---|---|
setText() | 设置单选按钮显示的文本 |
text() | 获取单选按钮显示的文本 |
setChecked() | 设置单选按钮是否为选中状态,True为选中状态 |
isChecked() | 返回单选按钮的状态,True 为选中状态,False为未选中状态 |
如果需要实现检测单选按钮的选中状态时,可以使用以下代码:
# 设置单选按钮的选中事件方法
self.radioButton.toggled.connect(lambda: self.button_state(self.radioButton))
self.radioButton_2.toggled.connect(lambda: self.button_state(self.radioButton_2))
def button_state(self, button):
if button.text() == "RadioButton1": # 判断单选按钮的名称
if button.isChecked() == True: # 判断单选按钮是否被选中
print(button.text() + "已选中!")
else:
print(button.text() + "未被选中!")
if button.text() == "RadioButton2": # 判断单选按钮的名称
if button.isChecked() == True: # 判断单选按钮是否被选中
print(button.text() + "已选中!")
else:
print(button.text() + "未被选中!")
Python的PyQt框架的使用-常用控件篇,就聊到这里了,感谢大家阅读,如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连),同时ζ小菜鸡在这里祝大家新年快乐!!!