|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 gopythoner 于 2017-5-4 21:53 编辑
开始学一下PYQT
先感谢 ~风介~和 wei_Y留下的教程,网上pyqt5的资料是真少,难得有这么详细简单的基础教程
按照论坛教程写了个简单的
现在我遇到一个跟之前学tkinter一样的问题(当时记得好像是需要用多线程解决,因为发现TK界面太丑了,并没有去解决就搁浅了),就是向文本框中加入内容会导致假死状态,我的要求是每次输入一行内容,然后暂停1秒,接住继续输入,但是实际的效果是,程序假死,然后等所有的时间走完,一次性把10行内容输入了,这个不是我要的效果
代码如下
- import sys
- from PyQt5 import QtWidgets #一般窗口类
- from PyQt5 import QtGui #使用图片的时候需要用到
- import time
- class Main(QtWidgets.QWidget):
- def __init__(self,parent=None): #初始化
- super().__init__(parent) #继承父类
- self.setWindowTitle("The first QT") #设置标题
- # self.resize(800,500) #窗口大小
- self.setGeometry(100,100,800,500) #另一种设置窗口方式,前面参数是屏幕上位置
- self.setWindowIcon(QtGui.QIcon("tubiao\img.ico")) #设置图标
- self.setMaximumSize(800,500) #设定最大显示大小
- self.setMinimumSize(800,500) #设定最小显示大小,当两者相同时,窗口大小不能改变
- #一个关闭窗口按钮
- self.btn_close = QtWidgets.QPushButton(self) #创建一个按钮
- self.btn_close.setObjectName("close") #专属名字
- self.btn_close.setText("关闭") #显示内容
- self.btn_close.setGeometry(100,110,60,30) #显示位置和大小,跟窗口操作一样
- self.btn_close.setIcon(QtGui.QIcon("tubiao\ooopic_1484987727.ico")) #插入图片
- self.btn_close.clicked.connect(self.close) #信号和槽,信号是点击,执行是自带的方法:关闭窗口
- #一个开始按钮
- self.btn_run = QtWidgets.QPushButton("run",self)
- self.btn_run.setText("开始")
- self.btn_run.setGeometry(100,360,60,30)
- self.btn_run.setIcon(QtGui.QIcon("tubiao\ooopic_1484987772.ico"))
- self.btn_run.clicked.connect(self.run)
- #一个文字框
- self.edt_run = QtWidgets.QTextEdit(self)
- self.edt_run.setGeometry(200,100,450,300)
- def run(self):
- for i in range(10):
- self.edt_run.insertPlainText("输入数字{}".format(i)+"\n")
- time.sleep(2)
- if __name__ == '__main__':
- app = QtWidgets.QApplication(sys.argv) #创建application对象
- main = Main() #实例化
- main.show() #展示窗口
- sys.exit(app.exec_()) #主循环
复制代码
主要问题在于run函数要怎么写?
效果截图
|
|