Qt隐藏最小化,最大化和关闭按钮

时间:2010-07-09 09:11:42

标签: qt hide minimize maximize

你知道如何在Qt中隐藏标题栏的最小化,最大化和关闭按钮。我特别需要把它隐藏在QMainWindow上。

6 个答案:

答案 0 :(得分:19)

设置此窗口标记Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint

请注意,在某些平台上,它的行为方式不同。例如,在Mac OS X上,它禁用,(不隐藏)关闭/最小化/最大化按钮

答案 1 :(得分:4)

如果您正在使用Qt qml,那么要删除最小化,最大化和关闭按钮,请在main.qml文件的window函数中设置无框窗口标志,如下所示:

flags: Qt.FramelessWindowHint

答案 2 :(得分:2)

只关注Window Flags Example的工作方式!

答案 3 :(得分:2)

这可以通过在MainWindow的QEvent :: Close事件上使用eventFilter来实现

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();
}

答案 4 :(得分:0)

标志:Qt.Window | Qt.WindowTitleHint

这也适用于窗口项目

标志:for a in com: for b in dec: for i in range(0,len(b)-len(a)+1): clipped_str = b[i:i+len(a)] print(clipped_str)

答案 5 :(得分:0)

对于关闭按钮,您可以覆盖QmainWindow的closeEvent()

class MainWindow(QMainWindow):    
    def closeEvent(self, event):
        event.ignore()
        return