Progress bar PyQT5+Button
Как сделать так, чтобы когда нажимаешь на кнопку, прогресс бар заполнялся на
1%Как сделать так, чтобы когда заполнится прогресс бар на 100%, он обновлялся до
0
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from GuI import Ui_Dialog
app = QtWidgets.QApplication(sys.argv)
dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(dialog)
dialog.show()
def progress_bar():
progress_bar = (start(100,))
ui.pushButton_2.clicked.connect(progress_bar)
sys.exit(app.exec_())
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(429, 300)
self.pushButton_2 = QtWidgets.QPushButton(Dialog)
self.pushButton_2.setGeometry(QtCore.QRect(170, 230, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.toolButton = QtWidgets.QToolButton(Dialog)
self.toolButton.setGeometry(QtCore.QRect(0, 280, 61, 19))
self.toolButton.setObjectName("toolButton")
self.progressBar = QtWidgets.QProgressBar(Dialog)
self.progressBar.setGeometry(QtCore.QRect(10, 10, 421, 23))
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName("progressBar")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(10, 40, 411, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_2.setGeometry(QtCore.QRect(10, 70, 411, 20))
self.lineEdit_2.setObjectName("lineEdit_2")
self.lineEdit_3 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_3.setGeometry(QtCore.QRect(10, 160, 411, 20))
self.lineEdit_3.setObjectName("lineEdit_3")
self.lineEdit_4 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_4.setGeometry(QtCore.QRect(10, 100, 411, 20))
self.lineEdit_4.setObjectName("lineEdit_4")
self.lineEdit_5 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_5.setGeometry(QtCore.QRect(10, 130, 411, 20))
self.lineEdit_5.setObjectName("lineEdit_5")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton_2.setText(_translate("Dialog", "Майнить"))
self.toolButton.setText(_translate("Dialog", "..."))
self.lineEdit.setText(_translate("Dialog", "Привет,это моя игра \"Мамкин майнер\" одним словом,это кликер."))
self.lineEdit_2.setText(_translate("Dialog", "Что-бы начать \"Майнить\" нажмите кнопку \" Майнить\" да это звучит глупо."))
self.lineEdit_3.setText(_translate("Dialog", "Версия игры-V.1"))
self.lineEdit_4.setText(_translate("Dialog", "Возле кнопки \"Майнить\" есть кнопка \"Настройка\"Там можно изменить сложно-"))
self.lineEdit_5.setText(_translate("Dialog", "сть.Игра была напис
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
#from GuI import Ui_Dialog
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(429, 300)
self.pushButton_2 = QtWidgets.QPushButton(Dialog)
self.pushButton_2.setGeometry(QtCore.QRect(170, 230, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.toolButton = QtWidgets.QToolButton(Dialog)
self.toolButton.setGeometry(QtCore.QRect(0, 280, 61, 19))
self.toolButton.setObjectName("toolButton")
self.progressBar = QtWidgets.QProgressBar(Dialog)
self.progressBar.setGeometry(QtCore.QRect(10, 10, 421, 23))
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName("progressBar")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(10, 40, 411, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_2.setGeometry(QtCore.QRect(10, 70, 411, 20))
self.lineEdit_2.setObjectName("lineEdit_2")
self.lineEdit_3 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_3.setGeometry(QtCore.QRect(10, 160, 411, 20))
self.lineEdit_3.setObjectName("lineEdit_3")
self.lineEdit_4 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_4.setGeometry(QtCore.QRect(10, 100, 411, 20))
self.lineEdit_4.setObjectName("lineEdit_4")
self.lineEdit_5 = QtWidgets.QLineEdit(Dialog)
self.lineEdit_5.setGeometry(QtCore.QRect(10, 130, 411, 20))
self.lineEdit_5.setObjectName("lineEdit_5")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.pushButton_2.setText(_translate("Dialog", "Майнить"))
self.toolButton.setText(_translate("Dialog", "..."))
self.lineEdit.setText(_translate("Dialog", "Привет,это моя игра \"Мамкин майнер\" одним словом,это кликер."))
self.lineEdit_2.setText(_translate("Dialog", "Что-бы начать \"Майнить\" нажмите кнопку \" Майнить\" да это звучит глупо."))
self.lineEdit_3.setText(_translate("Dialog", "Версия игры-V.1"))
self.lineEdit_4.setText(_translate("Dialog", "Возле кнопки \"Майнить\" есть кнопка \"Настройка\"Там можно изменить сложно-"))
self.lineEdit_5.setText(_translate("Dialog", "сть.Игра была напис..."))
class Dialog(QtWidgets.QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setupUi(self)
self.pushButton_2.clicked.connect(self.progress_bar)
self.step = 0
self.progressBar.setValue(self.step)
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.update_func)
def progress_bar(self):
self.timer.start(300)
def update_func(self):
self.step += 1
self.progressBar.setValue(self.step)
if self.step == 100:
self.timer.stop()
self.step = 0
self.progressBar.setValue(self.step)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ex = Dialog()
ex.show()
sys.exit(app.exec_())

