crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> Всплывающие окна
SABROG
  опции профиля:
сообщение 28.2.2010, 22:44
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(breeve @ 28.2.2010, 22:19) *
А у меня появляется пустое окно.


Выражайтесь яснее. Речь ведь идет о панели задач, где появляется лишний пустой прямоугольник.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 28.2.2010, 22:49
Сообщение #12


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(SABROG @ 28.2.2010, 22:44) *
Выражайтесь яснее. Речь ведь идет о панели задач, где появляется лишний пустой прямоугольник.


Запускаю приложение. Появляется здоровое пустое окно, как если бы запустить пустой проект..
Вот мой конструктор:
MyCitation::MyCitation(QWidget *parent)
    : QWidget(parent)
{
    this->hide(); // пытался скрыть окно
    createActions();
    createTrayIcon();
    trayIcon->show();
}

Ну и помимо этого появляется иконка в трее все как положено..

Сообщение отредактировал breeve - 28.2.2010, 22:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 28.2.2010, 22:53
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Не вызывай show() в main.cpp. Твой hide() выполняется в конструкторе, еще до того как ты вызовешь show() или a.exec().

Сообщение отредактировал SABROG - 28.2.2010, 22:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 1.3.2010, 19:43
Сообщение #14


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Вопрос. Вот есть у меня QMenu в котором QAction - show(). Нажимаешь на show появляется не модальное диалоговое окно. Нажимаешь повторно и появляется такое же в точности поверху, и т.д. Как сделать так чтобы ограничить кол-во, чтобы как открылось первое окошко второе открыться не могло?


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.3.2010, 20:03
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 1.3.2010, 22:43) *
Как сделать так чтобы ограничить кол-во, чтобы как открылось первое окошко второе открыться не могло?
можно сделать модальным, можно флажёк завести и в слоте проверять, есть уже окно или нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 1.3.2010, 20:27
Сообщение #16


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 1.3.2010, 20:03) *
можно сделать модальным, можно флажёк завести и в слоте проверять, есть уже окно или нет

Модальным никак нельзя сделать.. Необходимо чтобы было не модальным. А что за шлажок?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.3.2010, 20:55
Сообщение #17


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 1.3.2010, 23:27) *
А что за шлажок?
в вести булевую переменную, и в слоте, где обрабатывается действие, проверять её, если ИСТИНА, то найти диалог и вывести его на первый план, если ЛОЖНО, то создать и показать.
На закрытие окна (acept/reject) предусмотреть слот, который будет сбрасывать флажок
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 1.3.2010, 21:02
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Litkevich Yuriy @ 1.3.2010, 20:55) *
проверять её, если ИСТИНА, то найти диалог и вывести его на первый план, если ЛОЖНО, то создать и показать.

Наверное лучше сразу искать и выводить, а если не нашли - значит диалога нет и нужно его создать.

Тогда и флажки не понадобятся...
Цитата(Litkevich Yuriy @ 1.3.2010, 20:55) *
На закрытие окна (acept/reject) предусмотреть слот, который будет сбрасывать флажок

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 1.3.2010, 21:17
Сообщение #19


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(BRE @ 1.3.2010, 21:02) *
Наверное лучше сразу искать и выводить, а если не нашли - значит диалога нет и нужно его создать.

Про флажки это достаточно просто и неинтересно я тоже над этим думал.. А вот насчет найти диалог.. Как это? Глупый вопрос конечно..

оффтоп = "тут надо создать раздел для новичков. Что-то вроде вы новичок - вам сюда.. Как раз для меня))"

Сообщение отредактировал breeve - 1.3.2010, 21:23
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 1.3.2010, 22:08
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(breeve @ 1.3.2010, 21:17) *
А вот насчет найти диалог.. Как это? Глупый вопрос конечно..

А диалог это обычный виджет.
Если у него установлен parent, то можно воспользоваться функцией:
QList<T> QObject::findChildren ( const QString & name = QString() ) const

Если это диалоги верхнего уровня, то:
QWidgetList QApplication::topLevelWidgets () [static]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 0:32