![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
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())); Пробовал писать условие типа если форма видима то не открывать более, но чтото результата не дало. |
|
|
![]() |
lex_qt |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 15.12.2012 Пользователь №: 3644 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Разобрался в чем причина.
http://www.forum.crossplatform.ru/index.ph...amp;#entry61529 по данному коду не запускалась формы, вылазила ошибка виндоувс. Заменил Цитата MainWindow::MainWindow() { history *hst = new history(); connect(history, SIGNAL(triggered()), this, SLOT(open_history())); } На Цитата MainWindow::MainWindow() { hst = new history(); connect(history, SIGNAL(triggered()), this, SLOT(open_history())); } И все заработало, добавил так же функции raise, полезная штука, спасибо за помощь всем Отписал для того чтобы возможно какому то новчику как я поможет данный топик |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 14:32 |