![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
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())); Пробовал писать условие типа если форма видима то не открывать более, но чтото результата не дало. |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
чтобы не наступать на такие грабли, используй префикс "m_" для мемберов класса - уже визуально будет что-то не так при виде такой строки в функции:
MainWindow::MainWindow() { history * m_hst = new history(); ... } а ещё в конструкторе можно применить список инициализации (а иногда только так и возможно мембер инициализировать) MainWindow::MainWindow():m_hst(new history()) { ... } Сообщение отредактировал Алексей1153 - 25.12.2012, 6:36 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.6.2025, 18:40 |