Qmainwindow 设置 无标题栏 状态栏
时间: 2024-06-09 08:05:04 浏览: 172
在 Qt 中,可以通过设置 QMainWindow 的属性来隐藏标题栏和显示状态栏。
首先,在 QMainWindow 的构造函数中,需要设置窗口为无边框模式:
```cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
// 设置为无边框模式
setWindowFlags(Qt::FramelessWindowHint);
}
```
然后,在 QMainWindow 中添加一个 QStatusBar,使其显示在窗口底部:
```cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
// 设置为无边框模式
setWindowFlags(Qt::FramelessWindowHint);
// 添加状态栏
statusBar();
}
```
最后,需要在主窗口的 resizeEvent() 方法中重新设置状态栏的位置和大小:
```cpp
void MainWindow::resizeEvent(QResizeEvent *event)
{
QMainWindow::resizeEvent(event);
// 重新设置状态栏的位置和大小
statusBar()->setGeometry(0, height() - statusBar()->height(), width(), statusBar()->height());
}
```
这样,就可以实现一个无标题栏、带状态栏的 QMainWindow 了。
阅读全文