我有一个方法需要几秒钟才能加载其数据。这几秒我想显示一个弹出窗口。问题是python完全冻结就像启动加载方法一样。
我的第一个想法是在qteditor中绘制一个进度条并隐藏它。然后:
def load_data(self):
self.progressbar.sethidden(False)
[...load data...]
显示进度条,但加载数据后 然后我想如果我"外包" " sethidden"它可以工作:
self.start.connect(self.load_data)
def pre_load_data(self):
self.progressbar.sethidden(False)
self.start.emit() #Signal created by myself
def load_data(self):
[...load data...]
但进程完成后再创建了进度条。
然后我尝试在其他* .py文件中弹出一个弹出窗口,然后导入它:
popup.py:
class Popup(QtGui.QDialog):
def __init__(self):
QtGui.QWidget.__init__(self)
self.pp=Ui_Loading()
self.pp.setupUi(self)
然后在调用load_data-method之前显示弹出窗口:
def test(self):
self.bla = popup.Popup()
self.bla.show()
self.load_data()
弹出窗口显示为inmediatly,但是空的。在load_data完成"内部"弹出窗口显示。 我已经阅读了一些关于"子处理"但我认为必须有一种更简单的方法来做我想做的事情。我希望你解开我的问题和我的英语,如果你有问题可以随意问:)谢谢!