查看我的代码,告诉我如何将进度条设置为-dollar()-函数,并从执行函数开始进度条并完成它。
from PyQt5.QtWidgets import (QWidget,QApplication,QTextEdit,
QInputDialog,QPushButton,QVBoxLayout,QProgressBar)
import sys
class Tbx(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.vbox = QVBoxLayout()
self.btn = QPushButton('ClickMe',self)
self.btn.clicked.connect(self.dollar)
self.te = QTextEdit(self)
self.prgb = QProgressBar(self)#How to set this to doing something?
self.vbox.addWidget(self.te)
self.vbox.addWidget(self.btn)
self.vbox.addWidget(self.prgb)
self.setLayout(self.vbox)
self.setGeometry(300,300,400,250)
self.setWindowTitle('Application')
self.show()
def dollar(self):#Like doing this set progress bar to this
text_1_int , ok = QInputDialog.getInt(self,'HowMany?','Enter How Many dollar do you want ?')
if not ok:
return
current_lines = self.te.toPlainText().split('\n')
new_lines = list()
for dollar_counter in range(1,text_1_int+1):
word = '$'*dollar_counter
new_lines += [word + text for text in current_lines]
self.te.setPlainText('\n'.join(new_lines))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Tbx()
sys.exit(app.exec_())
字符串
2条答案
按热度按时间sgtfey8w1#
您可以将进度控制的最大值设置为在输入窗口中输入的值,然后简单地使用
setValue
来增加进度条,但是,这将阻止UI进行非常大的计算,因此您可能还希望将方法移动到新线程并使用信号向UI报告进度,以下是完整的示例:字符串
wa7juj8i2#
您可以在不使用任何已定义类的情况下使用进度条
将PyQt5.QtWidgets导入为QtWidgets
ifname==“main":
字符串