crossplatform.ru

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

> стиль Qt::Tool под Linux и Windows разное поведение, стили окон, убрать с taskBar,
vvs83
  опции профиля:
сообщение 14.9.2009, 13:29
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 14.9.2009
Пользователь №: 1090

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




Репутация:   0  


Здравствуйте!
Существует такая проблема:
Главное окно приложения QMainWindow
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);
        .......
}


и есть несколько окон графиков GrWindow, которые тоже наследованы от QMainWindow и создаются динамически по мере надобности из MainWindow

//конструктор GrWindow
GrWindow::GrWindow(QWidget *parent,  const char *name ): QMainWindow( 0, Qt::Tool)
{
          setWindowTitle(name);
      setAttribute(Qt::WA_DeleteOnClose);
          ........
}


Единственное условие при при клике по title главного окна(MainWindow) должно выходить на передний план, а остальные GrWindow-с находиться под ним.
В таком варианте под Windows в принципе это работает,а вот под OpenSuse( среда KDE) каждое созданное окно GrWindow отображается в taskbar(видно из-за parent=0) и MainWindow не показывается поверх всех GrWindow.

Эксперименты с заданием parent-ом

GrWindow *wnd =new GrWindow(this);
wnd->show();


MainWindow для всех GrWindow выводит все дочерние GrWindow поверх MainWindow.

Помогите если кто сталкивался

Сообщение отредактировал Admin - 14.9.2009, 13:36
Причина редактирования: Учимся использовать тэг CODE
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 14.9.2009, 16:10
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Все таки я тоже не совсем понимаю, почему нельзя было сделать MDI приложение?
На дочерних окнах так же можно создать menu,statusBar, centalWidget и тем более splitter/

Глянь: Пример многодокументного интерфейса (MDI)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vvs83
  опции профиля:
сообщение 14.9.2009, 16:44
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 14.9.2009
Пользователь №: 1090

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




Репутация:   0  


Цитата(ViGOur @ 14.9.2009, 16:10) *
Все таки я тоже не совсем понимаю, почему нельзя было сделать MDI приложение?
На дочерних окнах так же можно создать menu,statusBar, centalWidget и тем более splitter/

Глянь: Пример многодокументного интерфейса (MDI)


Скорее всего так и прийдётся сделать, если ничего не поможет. MDI не делал по соображениям совместимости со старой прогой, считал что если Builder позволил сделать то и Qt справится, тем более под Win почти всё устроило, а вот под Linux криво пошло( когда parent =0 то начинает плодить на таскбаре окна)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 19.12.2024, 16:18