Быстрый вопрос
В проекте QT C++ есть 2 основных окна (фокус может быть установлен независимо от любого из них) и окно tool
, которое должно быть поверх 2 основных окон.
Как реализовать такую функцию?
Подробный вопрос:
Для одного главного окна и одного окна инструментов решить довольно просто:
#include <QApplication>
#include <QWidget>
int main( int n, char* args[])
{
QApplication app(n, args);
QWidget mainWindow;
QWidget subWindow(&mainWindow);
subWindow.setWindowFlags(subWindow.windowFlags() | Qt::Tool);
mainWindow.show();
subWindow.show();
return app.exec();
}
- Главное окно всегда находится под окном инструментов.
- Возможно взаимодействие с главным окном
- сворачивание/закрытие главного окна повлияет на окно инструментов
- Другое приложение может закрывать главное окно или оба окна (они не самые верхние)
Хотелось бы такую же функцию, но с 2-мя главными окнами. Представьте себе видеопроигрыватель, в котором окно инструментов обеспечивает управление «воспроизведением/остановкой» обоих изображений:
- Каждое главное окно имеет одинаковый вес фокуса: фокус может быть передан любому из них, который будет перекрывать другое окно, но не окно инструментов.
- Инструмент всегда находится поверх двух других.
raise()
окно инструментов поднять над остальными. Также см. примечание к этой функции - person Thalia   schedule 04.03.2016