Вопрос на засыпку: у кого костыль костыльнее?
Да тут и нечего засыпать, showEvent вызывается гораздо реже paintEvent'a (а именно при показе и, как Вы сами заметили, при ресторинге), стало быть слюновыделяющие навороты будут выполняться тоже гораздо реже, и соответственно раздражать пользователя тоже гораздо реже.
Это бесспорно, но у меня еще есть аргументы... если делать doSomething сразу после отрисовки, то это гарантирует что "форма"(прости меня Линус Торвальд) уже отрисована и ничего больше не произошло, в showEvent "форма" тоже уже отрисована, но эвент происходит не сразу после отрисовки...
Вообще спор не о чем, тк ситуация простите идиоццкая, если надо чтото сграбить с "формы"(мне это слово уже начинает нравиццо), то на мой взгляд следить за ее показом совсем не обязательно, а если надо чтото сделать после отображения, то это:
class MyWidget : public QDialog {
void exec(...) {
QDialog::exec(...);
doSomething();
}
я прав?