Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько слотов на кнопку. 
V
    Опции темы
papochka
Дата 21.9.2010, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 28.10.2009

Репутация: нет
Всего: нет



Может быть я повторюсь, тк задавал этот вопрос на другом форуме. Но...

Привет!
Тут такое дело.
Вобщем, есть кнопка, при нажатии на неё, вызывается диалог(плейлист).
Так вот, как сделать, чтобы при повторном нажатии, плейлист закрывался?

Сейчас есть такое:
Код

 QPushButton *ButtonPList = new QPushButton("Playlist");
    ListWidget *playlist = new ListWidget;    //Это мой диалог(плейлист)
 
    connect(ButtonPList, SIGNAL(clicked()), playlist,SLOT(show()));



Это сообщение отредактировал(а) papochka - 21.9.2010, 20:06
PM MAIL   Вверх
SABROG
Дата 21.9.2010, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Вариант 1. Вместо show() подставить свой слот и в нем проверять, если диалог открыт, то закрывать его.
Вариант 2. Использовать метод setCheckable(true) для QPushButton. Затем подключить сигнал clicked(bool) кнопки к слоту setVisible(bool) диалога.
Вариант 3. Использовать The State Machine Framework.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
papochka
Дата 21.9.2010, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 28.10.2009

Репутация: нет
Всего: нет



Цитата(SABROG @  21.9.2010,  20:48 Найти цитируемый пост)
Вариант 2. Использовать метод setCheckable(true) для QPushButton. Затем подключить сигнал clicked(bool) кнопки к слоту setVisible(bool) диалога.


Сделал так:

Код

 QPushButton *ButtonPList = new QPushButton("Playlist");
    ListWidget *playlist = new ListWidget;

    ButtonPList->setCheckable(true);
    connect(ButtonPList, SIGNAL(clicked(bool)),playlist, SLOT(setVisible(bool)));



Спасибо огромное, работает.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.