Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2011, 11:43   #1
Lindemann66
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 127
Вопрос Нужен совет (QWidget в отдельном QThread)

Всем привет

Хочу спросить совета по следующему вопросу

У меня есть приложение, которое работает в трее
У него должно быть меню настроек
Оно будет вызываться по нажатию на элемент контекстного меню иконки

Вот код конструктора основного класса
Код:
SystemTray::SystemTray(QWidget* pwgt /*=0*/) : QLabel(tr("<h1>Settings</h1>"), pwgt) {
    //заголовок окна настроек
    setWindowTitle("System tray");

    //таймер на 3 секунды
    startTimer(3000);

    QAction* pactShowHide = new QAction(tr("Settings"), this);
    connect(pactShowHide, SIGNAL(triggered()),
            this,         SLOT(slotShowHide())
            );

    QAction* pactQuit = new QAction(tr("Quit"), this);
    connect(pactQuit, SIGNAL(triggered()), qApp, SLOT(quit()));

    m_ptrayIconMenu = new QMenu(this);
    m_ptrayIconMenu->addAction(pactShowHide);
    m_ptrayIconMenu->addAction(pactQuit);

    m_ptrayIcon = new QSystemTrayIcon(this);
    m_ptrayIcon->setContextMenu(m_ptrayIconMenu);
    m_ptrayIcon->setToolTip(tr("Update Scanner"));
    m_ptrayIcon->setIcon(QPixmap("img1.bmp"));

    m_ptrayIcon->show();
}

Пока, как видите, я наследуюсь от QLabel, то есть, при нажатии на Settings появляется окошко с меткой

Думаю сделать так, чтобы по нажатию на Settings появлялось полноценное окно QWidget с опциями настройки

Создавал новый класс формы, наследовался от него
Всё норм, правда вызов окна настроек сильно тормозит (видимо, за счёт того, что я каждые 3 секунды выполняю определённые действия)

Очевидно, работать с окном настроек надо в отдельном потоке
Почитал в книжках про потоки, примерно понял, что к чему, но знаний пока не хватает

Насколько реально это сделать, и как бы вы решали данную проблему?
Lindemann66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет, просто совет kardinal94 Общие вопросы Delphi 7 16.12.2010 22:16
Можно ли открыть сводную таблицу в отдельном книге ( не в отдельном листе)? Aqil_f Microsoft Office Excel 1 13.09.2010 10:44
Нужен совет! ***Proxy*** Общие вопросы C/C++ 0 31.03.2010 19:21
Нужен совет!!! Servak Свободное общение 2 22.09.2009 20:04
Нужен совет по С++ profi Помощь студентам 3 28.07.2008 19:20