[QT] Zatrzymywanie wykonywania kodu głównego okna
Ostatnio zmodyfikowano 2020-02-09 19:47
Bartex321 Temat założony przez niniejszego użytkownika |
[QT] Zatrzymywanie wykonywania kodu głównego okna » 2020-02-09 19:38:39 Witam, mam kolejne pytanie odnośnie qt :) Chciałbym, aby po naciśnięciu przycisku wyświetlało się okno z pytaniem ile kolumn dodać do table widgetu, a po wybraniu tej liczby i kliknięciu ok kolumny się dodawały, niestety, mimo ustawienia okna na modalne, kod funkji leci dalej Kod: void Tabela::on_actionDodaj_stanowisko_triggered() { Dialog * ust = new Dialog; ust->setModal( 1 ); ust->show(); ui->tableWidget->setColumnCount( ust->spinboxvalue ); }
Ten kod jest maksymalnie uproszczony(przez co nie działa tak jak powinien), jednak pokazuję istotę programu - funkcja nie czeka do zamknięcia okna ust, przez co użytkownik nie ma kiedy ustawić pożądanej wartości Moim pomysłem na obejście tego problemu było stworzenie drugiej funkcji, dodającej kolumny, jednak z poziomu okna potomnego(ust) nie mogę wywołać funkcji należącej do okna rodzicielskiego (Tabela) void Tabela::on_actionDodaj_stanowisko_triggered() { Dialog * ust = new Dialog; ust->setModal( 1 ); ust->show(); }
void ust::on_pushButton_clicked() { Tabela::on_actionDodaj_stanowisko_triggered(); }
void Tabela::on_actionDodaj_stanowisko_triggered() { ui->tableWidget->setColumnCount( ust->spinboxvalue ); }
bardzo proszę o jakąś poradę jak to zrobić, może da się jakoś dzięki messageboxom?, jednak tutaj nie wiem jak do messageboxa dodać pole na liczbę :( |
|
pekfos |
» 2020-02-09 19:47:47 Powinieneś użyć exec() (i nie alokować niepotrzebnie pamięci). |
|
« 1 » |