Знаете ли вы, как скрыть кнопки сворачивания, разворачивания и закрытия строки заголовка в Qt. Особенно мне нужно скрыть это в QMainWindow.
Установить это окно флажков Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint
Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint
Обратите внимание, что на некоторых платформах он ведет себя по-разному. Например, в Mac OS X он отключает (не скрывает) кнопки закрытия / сворачивания / разворачивания
Если вы используете Qt qml, тогда, чтобы удалить кнопку минимизации, максимизации и закрытия, установите флажок окна без рамки в оконной функции в вашем файле main.qml, как показано ниже:
flags: Qt.FramelessWindowHint
Этого можно достичь, используя eventFilter для события QEvent :: Close из вашего MainWindow
bool MainWindow::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::Close) { event->ignore(); doWhateverYouNeedToDoBeforeClosingTheApplication(); return true; } return QMainWindow::eventFilter(obj, event); } void MainWindow::doWhateverYouNeedToDoBeforeClosingTheApplication() { // Do here what ever you need to do // ... // ... // and finally quit qApp->quit(); }
Просто посмотрите, как работает Пример оконных флагов !
flags: Qt.Dialog | Qt.WindowCancelButtonHint | Qt.WindowCloseButtonHint
Qt.Dialog | Qt.WindowCancelButtonHint | Qt.WindowCloseButtonHint
Это также работает для элемента окна
flags: Qt.Window | Qt.WindowTitleHint
Qt.Window | Qt.WindowTitleHint