![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
lex_qt |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 15.12.2012 Пользователь №: 3644 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте форумчане. Изучаю Qt. Долгое время читал разбирался.
Но тут возник простой вопрос, но чтото не могу додуматься как реализовать. Есть форма 1 , по сигналу (клик в контекстном меню либо из меню трея ) открывается форма 2. Форма 1 не должна закрываться. Проблема в том, сколько раз на кликаешь в контекстном меню, столько форм и откроется, а нужно чтобы открывалась только одна форма, независимо от количества кликов. Функция Цитата void MainWindow::open_history() { history *hst = new history(); hst->show(); } Вывод: Цитата connect(history, SIGNAL(triggered()), this, SLOT(open_history())); Пробовал писать условие типа если форма видима то не открывать более, но чтото результата не дало. |
|
|
![]() |
FantasyOr |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 75 Регистрация: 13.8.2010 Пользователь №: 1956 Спасибо сказали: 4 раз(а) Репутация: ![]() ![]() ![]() |
что вы хотели сказать этим кодом
history *hst = new history(); connect(history, SIGNAL (triggered()), this , SLOT (open_history())); ? когда у формы истории вызывается сигнал триггеред то она должна открыться... а как этот сигнал у формы вызовется если она не видна... пользователь подключен ментально к ПК, что умеет генерировать сигналы невидемых форм? Ясно, что нужно триггеред какого-нибудь экшена соединять со слотом открытия формы. И не нужно создавать форму истории при открытии мэйн формы(видимо список сущностей) иначе так можно докатиться до создания всех форм приложения... если в привычку войдёт Вы и все формы редактирования и диалогоаые окна сохранения, восстановления версий... будете создавать... плохие советы даёте. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.7.2025, 13:01 |