python学习4__pyqt5入门

pyqt入门

常用的窗口控件

•QMainWindow、QWidget和QDialog三个类都是用来创建窗口的,可以直接使用,也可以继承后再使用

创建主窗口菜单

在这里插入图片描述

设置窗口图标,标题,改变窗口大小

在这里插入图片描述

将窗口移动到屏幕中心

x = (屏幕宽度-窗口宽度)/2

y = (屏幕高度-窗口高度)/2

方法调用对象方法说明
screenGeometry()QDesktopWidget()获取屏幕尺寸
geometry()QMainWindow()获取窗口尺寸
move(x,y)QMainWindow()移动到指定的位置

在这里插入图片描述

气泡提示

•设置气泡需要用到下面这个方法

setToolTip(msg) msg----为提示信息,字符串形式

# 设置提示
button.setToolTip('这个按钮是发送消息按钮')   #鼠标移动到按钮上后会弹出提示

pyqt常用API学习

文本框–用QLabel实现

•QLabel可以显示不可编辑的文本或图片,也可以放置一个GIF动画

•QFont开设置字体样式和字体大小

# QLabel
label = QLabel()
# 设置文本信息
label.setText('这是一个文本消息')
# 设置文本样式
label.setFont(QFont('宋体',20))    #setFont用来设置字体
# 设置父窗体
label.setParent(widget)

编辑图片

# 创建QLabel
label = QLabel()
# 创建PixMap
map = QPixmap('xuexi.png')
# 设置图片
label.setPixmap(map)             #setpixmap--map为路径+图片名
# 设置父窗体
label.setParent(widget)
文本框控件

•即输入框,QLineEdit是单行文本输入框,QTextEdit是多行文本输入框

QlineEdit

方法说明
setEchoMde()QLineEdit.Normal,正常显示所输入的字符,默认选项 QLineEdit.NoEcho,不显示任何输入的字符,常用于密码类型的输入,且其密码长度需要保密时 QLineEdit.Password,显示与平台相关的密码掩码字符,而不是实际输入的字符 QLineEdit.PasswordEchoOnEdit,在编辑时显示字符,负责显示密码类型的输入
setPlaceholderText()设置文本框浮显文字
setText()设置文本框内容
setMaxLength()设置文本框所允许输入的最大字符数
#设置文本框
edit = QLineEdit()
# 设置提示文字
edit.setPlaceholderText('请输入QQ')
# 设置文字
edit.setText('12312321')
# 设置输入框模式
# edit.setEchoMode(QLineEdit.NoEcho)   #输入不显示任何字符
# edit.setEchoMode(QLineEdit.Password)  #密码模式时
edit.setEchoMode(QLineEdit.PasswordEchoOnEdit)
# 设置最大长度
edit.setMaxLength(5)

# 显示设置父窗体
edit.setParent(widget)
edit.resize(100,500)           #设置文本框框体的大小

QTextEdit

•QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超过控件显示范围时,可以显示水平或竖直滚动条.

•QTextEdit不仅可以显示文本还可以显示HTML文档.

方法说明
setPlainText()设置多行文本框的文本内容
toPlainText()返回多行文本框的文本内容
setHtml()设置多行文本框的内容为HTML文档
toHtml()返回多行文本框的HTML文档内容
clear()清空多行文本框的内容
# 创建多行输入框
edit = QTextEdit()
edit.setPlaceholderText('请输入留言')     #注意此处与setText用法的区别,多了一个place

# 输入文字
# edit.setText('2222')                  #输入文字时这两种方式都可以
edit.setPlainText('2222')
# 清空
edit.clear()
按钮控件-

-•常见的按钮实现类包括:按钮–QPushButton、单选框–QRadioButton和复选框–QCheckBox

QPushButton

在这里插入图片描述

单选框–QRadioButton:它提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项

复选框–QCheckBox

单选框和复选框的信号都是:toggled

toggled是一个状态改变信号,不是选中信号。

def deal(btn):
    if btn.isChecked():                #如果bnt按钮被选中
        # 输出哪个选中了
        print(btn.text())               #输出bnt上的文本内容
# 创建布局
layout = QHBoxLayout()

rb1 = QRadioButton('button1')
# 设置切换信号
rb1.toggled.connect(lambda :deal(rb1))   #发生状态改变的信号

rb2 = QRadioButton('button2')
rb2.toggled.connect(lambda :deal(rb2))    #****注意connect链接一个带参数的函数前面必须加lambda


rb2.setChecked(True)                      #默认按钮rb2前的勾选框被选中

常用组件(1)

信号和槽

•如果信号和多个槽函数相关联,当信号被发射时,这些槽的执行顺序将会是随机的、不确定的。

# 将信号和槽函数关联
button.clicked.connect(showMsg)      #***注意clicked没有(),它是一个信号,connect的()内是一个函数,                                           而不是一个函数返回值,所以showMsg后面不能加()
# button.clicked.connect(lambda :print('hello'))
'''需求:点击按钮,关闭窗口'''
def close():
    print('关闭窗口')
    app.quit()
# 创建按钮
button  =QPushButton()
# 文本
button.setText('关闭窗口')
# 点击信号
 button.clicked.connect(close)                  #和下面两种方式都可以,但注意connect后是函数的名字
# button.clicked.connect(app.quit)

布局管理

•所谓布局,指的就是多个控件在窗口中的展示方式

•布局方式大致分为:绝对布局、水平布局、竖直布局、网格布局、表单布局

•布局中可以添加控件,使用addWidget()方法

•布局中也可以再添加布局,使用addLayout()方法

框布局

•水平布局(QHBoxLayout)和竖直布局(QVBoxLayout)都称为框布局

•水平布局中是按照从左往右的顺序添加控件的,•竖直布局采用QVBoxLayout,是采用从上往下的方式添加控件的

参数说明
Qt.AlignLeft水平左对齐
Qt.AlignRight水平右对齐
Qt.AlignCenter水平居中对齐
Qt.AlignJustify水平两端对齐
Qt.AlignTop竖直上对齐
Qt.AlignBottom竖直下对齐
Qt.AlignVCenter竖直居中对齐
#创建水平布局
layout = QHBoxLayout()
#把按钮添加到布局中
btn=QPushButton()
layout.addWidget(btn,0,Qt.AlignBottom)    #将按钮添加到布局的底部
#layout.addWidget(btn)          #这种方式默认从上至下添加控件
# 把布局放到窗口中
widget.setLayout(layout)         #注意这里不能用layout.setParent(widget)

表单布局

QFormLayout

•表单布局添加控件的方法为 addRow(label,widget)

# 创建布局
layout = QFormLayout()

# 添加控件
layout.addRow(QLabel('姓名'),QLineEdit())
layout.addRow(QLabel('年纪'),QLineEdit())
layout.addRow(QLabel('电话'),QLineEdit())

# 显示布局
widget.setLayout(layout)

布局嵌套

layout4 = QVBoxLayout()
layout.addLayout(layout4)    #布局中添加布局

常用控件(2)

对话框控件

•QDialog的子类有:QMessageBox、QFileDialog、QFontDialog.QInputDialog

QMessageBox–对话框
def deal():
    print('点击了按钮')
    # 参数1:显示在哪个窗体中
    # 参数2:标题
    # 参数3:提示内容
    # 参数4:按钮个数
    # 参数5:默认按钮选中
    QMessageBox.information(widget,'对话框','提示信息!',QMessageBox.Ok|QMessageBox.Cancel,QMessageBox.Ok)
    #QMessageBox.question(widget,'对话框','提示信息?',QMessageBox.Ok,QMessageBox.Ok)

    #区别一个提示?,一个提示!。。上面那个弹出对话框有两个按钮,默认ok,下面有一个按钮,默认ok
    
# 创建按钮
btn = QPushButton()
btn.setText('显示对话框')
# 处理按钮点击事件
btn.clicked.connect(deal)          #发送信号后执行槽函数

QInputDialog-输入框对话框

•QInputDialog控件是一个标准对话框,由一个文本框和两个按钮(OK按钮和Cancel按钮)组成

def create():
    str,ok = QInputDialog.getText(widget,'提示','请输入角色')   #(基于widget弹出,标题,提示内容)
    if ok:
        print(str)                   #点击ok后输出文本框内输入的信息
# 按钮
btn = QPushButton('创建角色')

# 设置槽函数
btn.clicked.connect(create)

# 显示按钮
btn.setParent(widget)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答你的问题。对于Python软件页面制作入门,使用PyQt架构可以非常方便地实现界面程序。以下是一个入门示例,介绍如何使用PyQt设计师创建简单的界面程序。 1. 安装PyQt 首先,你需要安装PyQt。你可以使用pip进行安装: ``` pip install pyqt5 ``` 2. 创建一个界面程序 PyQt提供了Qt Designer,一个强大的可视化工具,可以帮助你创建和编辑界面。你可以使用Qt Designer来创建一个简单的界面程序。 在Qt Designer中,你可以添加各种控件,例如按钮、标签和文本框等。在这个示例中,我们将添加一个标签和一个按钮。 3. 将界面程序导出到Python文件 完成界面程序的设计后,你需要将其导出到Python代码中。在Qt Designer中,你可以选择“文件”>“导出”,然后选择“Python代码”作为导出类型。然后,你可以将导出的代码保存到一个.py文件中。 4. 编写Python代码 使用PyQt来编写Python代码,将界面程序与功能代码相结合。在这个示例中,我们将在按钮单击时显示一个消息框。 ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox from ui_mainwindow import Ui_MainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.show_message_box) def show_message_box(self): QMessageBox.information(self, "提示", "你单击了按钮!") if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在这个示例中,我们首先导入QApplication、QMainWindow和QMessageBox类,以及从Qt Designer导出的UI类。 接下来,我们创建一个MainWindow类,继承自QMainWindow,并在其中初始化UI界面。我们还使用connect()函数将按钮的单击事件连接到一个名为show_message_box()的函数上。 最后,我们创建一个QApplication实例,并将MainWindow实例显示出来。在应用程序退出时,我们调用sys.exit()函数。 5. 运行程序 现在,你可以运行程序并测试它是否能正常工作。在命令行中,进入包含你的Python文件的目录,并输入以下命令: ``` python main.py ``` 你应该能够看到一个包含一个标签和一个按钮的窗口。当你单击按钮时,应该会显示一个消息框。 这就是如何使用PyQt和Qt Designer创建简单的界面程序的入门示例。希望这对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值