Итак, я не уверен, что название является лучшим описанием, но это то, что я придумал. Вот сделка. Я работаю над приложением PyQt, которое имеет своего рода систему плагинов, где вы можете просто добавить некоторые подкласс в папку, и приложение находит их. Эти команды имеют возможность создавать маленькие uis для себя. В основном, они выглядят следующим образом:QDialog переключается на немодальный после принятия не перерисовывая
class Command(object):
def do(self):
self.setupUi()
self.pre()
self.run()
self.post()
def pre(self):
# do setup stuff for run method
def run(self):
# do actual work
def post(self):
# clean up after run
def setupUi(self):
# create a ui for this command
diag = QDialog()
diag.exec_()
Теперь проблема я бегу в, у меня есть одна команда, которая создает диалог, и ожидает пользователь, чтобы принять его. Затем мне нужно переключить диалог на немодальный, пока команда запущена, и обновить диалог. Кажется, все работает нормально. Но проблема в том, что я не могу заставить диалоговое окно перерисовывать до тех пор, пока не будут завершены методы pre, run и post. Так что, если у меня есть setupUi вроде этого:
def setupUi(self):
# create a ui for this command
diag = QDialog()
if diag.exec_():
diag.setModal(False)
diag.show()
Я попытался processEvents, но это, похоже, не делать этого. Кто-нибудь еще сталкивается с этой проблемой или знает какую-либо работу?
Благодаря