你知道如何在 Qt 中隐藏标题栏的最小化、最大化和关闭按钮吗?我特别需要将它隐藏在 QMainWindow 上。
问问题
45990 次
6 回答
25
设置此窗口标志Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint
请注意,在某些平台上,它的行为方式不同。例如在 Mac OS X 上它禁用,(不隐藏)关闭/最小化/最大化按钮
于 2010-07-09T20:19:48.943 回答
7
如果您使用的是 Qt qml,那么要删除最小化、最大化和关闭按钮,请在 main.qml 文件的窗口函数中设置无框窗口标志,如下所示:
flags: Qt.FramelessWindowHint
于 2017-04-27T05:46:01.567 回答
6
看看窗口标志示例是如何工作的!
于 2010-07-09T09:13:38.353 回答
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();
}
于 2011-08-16T11:39:43.267 回答
1
对于关闭按钮,可以覆盖 QmainWindow 的 closeEvent()
class MainWindow(QMainWindow):
def closeEvent(self, event):
event.ignore()
return
于 2020-09-07T17:15:36.713 回答
0
标志:Qt.Dialog | Qt.WindowCancelButtonHint | Qt.WindowCloseButtonHint
这也适用于窗口项目
标志:Qt.Window | Qt.WindowTitleHint
于 2017-11-28T20:08:51.403 回答