我创建了一个简单的应用程序,使用Paramiko和SFTP传输文件。我还想要一个状态栏(QLabel)来通知用户何时正在下载/上传文件。因此,我的上传功能看起来像这样:
def upload(self):
self.statusLabel.setText('Uploading')
local = str(self.uploadLineEdit.text())
filename = os.path.basename(local)
remote = "/home/" + self.userName + "/testdata/" + filename
self.ftp.put(local, remote)
self.uploadedFileName = filename
self.statusLabel.setText('Upload Finished')
注意在开始上传之前,我将状态栏更改为“正在上传”,当上传完成时,我将其更改为“上传完成”。
然而,实际发生的情况是标签上的“正在上传”消息从未显示 - 它直接转到“上传完成”。我怀疑这是因为更改仅在函数返回后发生。
如何在上传过程开始时更改标签?