Я пытаюсь загрузить данные на Google Диск с помощью pydrive одним нажатием кнопки PyQT5. Я хочу отобразить сообщение о том, что выполняется резервное копирование данных.... в строке состояния (или на ярлыке).
Однако я получаю сообщение только после завершения загрузки. Кажется, что процесс загрузки pydrive блокирует процесс PyQT до тех пор, пока загрузка не будет завершена.
Как я могу добиться отображения сообщения во время процесса загрузки. Ниже мой код:
def __init__(self, *args, **kwargs):
super(HomeScreen,self).__init__()
loadUi('uiScreens/HomeScreen.ui',self)
self.pushButton.clicked.connect(self.doDataBackup)
def doDataBackup(self):
dbfile = "mumop.db" #File to upload
self.statusBar().showMessage("Data back up in progress....") # This is blocked by pydrive
print("Data backup is in progress.....") # This test line is not blocked by pdrive
upload.uploadToGoogleDrive(dbfile))
# This method is in another file
def uploadToGoogleDrive(file):
gauth = GoogleAuth()
gauth.LoadCredentialsFile("upload/mumopcreds.txt")
if gauth.credentials is None:
gauth.LocalWebserverAuth()
elif gauth.access_token_expired:
gauth.Refresh()
else:
gauth.Authorize()
gauth.SaveCredentialsFile("upload/mumopcreds.txt")
drive = GoogleDrive(gauth)
file1 = drive.CreateFile()
file1.SetContentFile(file)
file1.Upload()