Russian Qt Forum
Ноябрь 26, 2024, 08:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Виджеты в плагинах для Qt-приложения  (Прочитано 3028 раз)
kdm
Гость
« : Март 27, 2011, 19:34 »

Пытаюсь сделать чтобы в плагине при запуске нужного метода показывалось окно немодальное.
Создал форму, наследованную от QWidget и показываю ее в методе плагина
Код:
QString UpCasePlugIn :: processtext(const QString &message, QWidget* parent)
{
    Form* frm = new Form(parent);
    frm->show();
    QMessageBox::information(parent, "information", "text");
    return "asdasdasd";
}
Форма просто содержит кнопки. Но когда я вызываю метод, то кнопки показываются просто внутри родительского виджета, т.е. без окна, а так как-будто бы я их добавил вне лейаута к главному окну. В тоже время месседжбокс пока показывается нормально. В чем может быть проблемма? Пробовал также showNormal, тоже также.
« Последнее редактирование: Март 27, 2011, 19:36 от kdm » Записан
Denjs
Гость
« Ответ #1 : Март 27, 2011, 23:39 »

Очевидно, "проблема" в том, что
Цитировать
Form(parent)
Если у виджета - родитель - другой виджет, то он рисуется как его часть.

имхо, не надо назначать родителя. Или играйтесь со свойствами/типами виджета (диалоговое окно, сервисное  и т.п. - где-то оно определяется)... сейчас не помню где...
но все-же мне кажется, с отсутствием родителя - вернее.
« Последнее редактирование: Март 27, 2011, 23:41 от Denjs » Записан
vunder
Гость
« Ответ #2 : Март 28, 2011, 09:29 »

Если не назначить владельца, то это будет отдельное окно, отдельный элемент на панеле задач. Лучше копать в сторону свойств окна, как советует Denjs. Как вариант - создавать форму как наследника от QDialog, а не от QWidget
Записан
Denjs
Гость
« Ответ #3 : Март 29, 2011, 14:13 »

Если не назначить владельца, то это будет отдельное окно, отдельный элемент на панеле задач. Лучше копать в сторону свойств окна, как советует Denjs. Как вариант - создавать форму как наследника от QDialog, а не от QWidget
Вот в свойствах как как раз и можно подобрать тип окна, которое не будет висеть на панели задач "как отдельная кнопка". По крайней мере что-нибудьтам типа tool window или типа того. У меня получалось. А родитель для отдельного окна по моему все таки должен быть пустой...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.