Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: byte255 от Январь 23, 2012, 09:02



Название: Как сделать disabled кнопку close окна приложения?
Отправлено: byte255 от Январь 23, 2012, 09:02
Здравствуйте, уважаемые программисты!
 Уже час комбинирую Qt::Flags но не могу добиться , чтобы кнопка закрытия окна была недоступна или хотя бы не видна.
Qt 4.6.0 Windows/Ubuntu


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: Igore от Январь 23, 2012, 09:06
Поиграйся с Example\Widgets\Window Flags

Совсем убрать верхнее окно можно: Qt::Window | Qt::FramelessWindowHint
Сделать disable можно через: Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::CustomizeWindowHint


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: byte255 от Январь 23, 2012, 19:54
прошу прощения, но код
Код:
#include <QApplication>
#include <QtGui>

int main (int argc, char * argv[]) {
    QApplication app(argc, argv);

    QMainWindow *test;
    test =  new QMainWindow(0, Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::CustomizeWindowHint);

    test->show();
    return app.exec();
}
дает окно с тремя активными кнопками.
(Хотя соответствующий пример из демок работает так как мне хотелось бы.)


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: Glaciuse от Январь 23, 2012, 21:57
Данный код делает активной только кнопку свернуть:
setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint);


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: andrew.k от Январь 23, 2012, 22:01
Возможно проблема в QMainWindow, в примере он не используется.
И мне непонятно зачем в QMainWindow делать выключенным крестик?


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: byte255 от Январь 24, 2012, 07:57
Возможно проблема в QMainWindow, в примере он не используется.
Замена MainWindow на Dialog не решает проблему
И мне непонятно зачем в QMainWindow делать выключенным крестик?
- Хочу вынести параметры окна в конфиг, в таких случаях желательно дать пользователю конфигурировать окно всеми возможными способами


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: byte255 от Январь 24, 2012, 08:01
Данный код делает активной только кнопку свернуть:
setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint);

Спасибо, это решение проблемы.


Название: Re: Как сделать disabled кнопку close окна приложения?
Отправлено: alexman от Январь 24, 2012, 11:28
Alt+F4 будет закрывать окно.