优秀的人,不是不合群,而是他们合群的人里面没有你
从这里开始我们不仅仅在局限于使用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_())