|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'G:\程序\gui\jindu.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(535, 402)
self.layoutWidget = QtWidgets.QWidget(Form)
self.layoutWidget.setGeometry(QtCore.QRect(90, 150, 291, 91))
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.jindu = QtWidgets.QProgressBar(self.layoutWidget)
self.jindu.setProperty("value", 0)
self.jindu.setObjectName("jindu")
self.verticalLayout.addWidget(self.jindu)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.star = QtWidgets.QPushButton(self.layoutWidget)
self.star.setObjectName("star")
self.horizontalLayout.addWidget(self.star)
spacerItem = QtWidgets.QSpacerItem(78, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.stor = QtWidgets.QPushButton(self.layoutWidget)
self.stor.setObjectName("stor")
self.horizontalLayout.addWidget(self.stor)
self.verticalLayout.addLayout(self.horizontalLayout)
self.retranslateUi(Form)
self.stor.clicked.connect(self.jindu.reset)
self.star.clicked.connect(self.panduan)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "进度条"))
self.star.setText(_translate("Form", "开始"))
self.stor.setText(_translate("Form", "结束"))
self.timer=QtCore.QBasicTimer()
self.step=0
def timeEvent(self,*args,**kwargs):
if self.step>=100:
self.timer.stop()
self.star.setText('完成')
return
self.step+=1
self.jindu.setValue(self.step)
def panduan(self):
if self.timer.isActive():
self.timer.stop()
self.star.setText("运行")
else:
# 立马激活进度条 启动 开始执行
self.timer.start(100, self) #本行报错
self.star.setText("停止")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
先用qt设计师排好布局,然后用pycharm写了个槽函数。self.timer.start(100,self)这一行总是报错:start(self, int, Qt.TimerType, QObject): argument 2 has unexpected type 'Ui'。。感觉代码没问题呀。。求大神解答
pyqt5好像一般都是界面逻辑分离写法比较好,
你在逻辑生成类再继承一下Ui和QWidget
相关逻辑函数在新类里写
|
|