PyQt5简单案例2

优秀的人,不是不合群,而是他们合群的人里面没有你

从这里开始我们不仅仅在局限于使用Desginer拖动创建,了解和熟悉pyqt自带的各种控件,手动设计多多记住多多背下用法才能融会贯通。

本章使用控件

QMessageBox:消息弹窗
QPushButton:按钮
QLineEdit:文本框
QTextEdit:多行文本框

按钮

常用的按钮有:

QPushButton,QToolButton,QRadioButton,QCheckBox

常用的与展示效果如下

文本框

textEdit的属性有如下:

修改输入框内文字,注意必须是字符串格式
textEdit.setText('修改文字666')

输入框追加文字
textEdit.append('我是第二行')
textEdit.append('我是第三行')

读取输入框的文字
textEdit.toPlainText()

清空输入框的文字
textEdit.clear()

注意了,这里不同类型的输入框,获取文本和修改文本的方法是不一样的,具体用法需要自行百度,这里记录一些常用的

QTextEdit:一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML文档

setPlainText()    设置多行文本框的内容
toPlainText()    返回多行文本框的文本内容
setHtml()    设置多行文本框的文本内容为HTML文档,HTML文档是描述网页的
toHtml()    返回多行文本框的HTML内容
clear()    清除多行文本框的内容


plainTextEdit:也是文本
plainTextEdit_5.toPlainText()  获取文本
plainTextEdit_5.appendPlainText("...")  在原本内容基础上增加内容


QLineEdit:单行文本编辑器,通过更改行编辑的echoMode(),还可以将其用作“只写”字段,以输入密码等输入。
QLineEdit.setText()  修改文本
QLineEdit.selectAll()  选择文本

整体代码

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication,QMessageBox,QPushButton,QTextEdit,QWidget
from PyQt5.QtGui import QIcon
# 添加图标库

import requests
url = 'https://v1.alapi.cn/api/dog?format=text'
class Main(QWidget):
    def __init__(self):
        super().__init__()
        self.UI()

    def UI(self):
        self.setGeometry(500,500,600,600)
        # 设置窗体大小
        self.setWindowIcon(QIcon('logo.ico'))
        # 设置图标路径
        self.setWindowTitle('答应我不要当舔狗好吗')
        # 设置标题
        self.bt_1 = QPushButton('开舔',self)
        # 第一个按钮的变量名
        self.bt_1.setGeometry(400,400,150,30)
        # 设置按钮的位置和按钮大小
        self.bt_1.clicked.connect(self.Get_content)
        # 当点击按钮触发事件

        self.bt_2 = QPushButton('不舔了',self)
        # 写一个退出按钮
        self.bt_2.setGeometry(500,400,100,30)
        self.bt_2.clicked.connect(self.close_win)

        self.text_1 = QTextEdit('汪汪汪',self)
        # 输入框默认显示的字符串
        self.text_1.setGeometry(20,100,500,150)
        self.text_1.selectAll()
        self.text_1.setFocus()
        # 输入框的文字变成全选状态
        self.show()
    def Get_content(self):
        # 获取舔狗文案,并且在文本框显示
        try:
            r = requests.get(url)
            self.text_1.setText(r.text)
        except Exception as e:
            self.text_1.setText('异常:'+str(e))
    def close_win(self):
        reply = QMessageBox.question(self,'确认','真的不舔了吗',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        if reply == QMessageBox.Yes:
            app.exit()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    mawin = Main()
    sys.exit(app.exec_())

参考资料

1 Message box

2 Qedit

3 文本框读取操作

坚持原创技术分享,您的支持将鼓励我继续创作!
------ 本文结束 ------

版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%