公众号已经开通啦,每天给大家分享一个实用,好玩的Python库,欢迎大家关注
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706213349458.jpg#pic_center)
一、前言
我们在上一章中把环境配置完成之后,我们今天来学习如何展示第一个窗口,以及如何改变窗口中的内容(本章使用Text Browser控件进行介绍,其余的给大家介绍一些常用的)
二、创建界面
首先我们通过pycharm,Tools – Externel Tools – QtDesigner打开Qt设计师,选择MainWindow并创建
在左侧拖动Text Browser空间到中间任意位置,然后保存,生成.ui文件,然后再转成.py文件(商户操作若有疑问,请参考上一篇博文)
然后我们创建一个新的文件,叫first_code.py,输入以下代码,运行
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
# 从ui转换的.py文件中导入Ui_MainWindow类,这个类就是主界面
from untitled import Ui_MainWindow
if __name__ == '__main__':
# 显示主界面
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
三、更新控件
我们在刚才的基础之上在,做这么一个操作,首先我们显示界面,然后延时3秒,3秒后循环在控件上刷新Hello, World,在first_code.py文件中输入如下代码
import sys
# 导入PyQt5相关的库
from PyQt5 import QtWidgets
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication
from untitled import Ui_MainWindow
class Main_Window(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(Main_Window, self).__init__()
# 启动控件
self.setupUi(self)
# 设置定时器
self.t = QTimer()
# 设置定时器的启动时间为3秒
self.t.start(3000)
# 设置连接的函数,每3秒执行一次update_info函数
self.t.timeout.connect(self.update_info)
def update_info(self):
# 3秒到后再窗口上显示Hello, World
# setText为清空控件的所有的文字,并添加你要显示的文字
self.textBrowser.setText("Hello, World")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Main_Window()
window.show()
sys.exit(app.exec_())
运行后,我们会先看到下图1,然后等待3s,在控件上就会出现Hello, World
当然,每个控件的方法都不同,除了setText()方法之外,我们还可以使用append进行追加
import sys
from PyQt5 import QtWidgets
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication
from untitled import Ui_MainWindow
class Main_Window(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(Main_Window, self).__init__()
# 启动控件
self.setupUi(self)
# 设置定时器
self.t = QTimer()
# 设置定时器的启动时间为3秒
self.t.start(3000)
# 设置连接的函数,每3秒执行一次update_info函数
self.t.timeout.connect(self.update_info)
def update_info(self):
# 每3s,在窗口上追加一次Hello, World
self.textBrowser.append("Hello, World")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Main_Window()
window.show()
sys.exit(app.exec_())
执行代码后,每3s,窗口上就会出现一次Hello, World,这样我们就可以实现对控件的内容编辑和改变了
四、总结
我们大概讲了如何启动我们的主界面,以及如何编辑我们控件的文字,但控件很多,今天只是介绍了Text Browser的使用,在实际开发中,我们要用很多的控件,从点击按钮,到显示,再到下拉菜单,每一个控件都有自己的作用和方法,那下一章我们给大家介绍,常用的一些控件,和他们使用的方法,以及,在可视化界面编程中可能遇到的坑