qmainwindow 标题栏,在Qt中合并工具栏和标题栏
时间: 2023-09-13 12:12:28 浏览: 220
Qt5实现自定义标题栏
你可以使用 Qt 的 QToolBar 类来创建工具栏,并将其添加到 QMainWindow 中。然后,你可以通过设置 QMainWindow 的属性来合并工具栏和标题栏。具体步骤如下:
1. 创建一个 QToolBar 对象,将其添加到 QMainWindow 中:
```cpp
QToolBar *toolBar = new QToolBar(this);
addToolBar(toolBar);
```
2. 禁用 QMainWindow 的默认标题栏,将工具栏作为标题栏:
```cpp
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowTitleHint);
toolBar->setWindowTitle(windowTitle());
```
3. 设置工具栏的样式,使其看起来像标题栏:
```cpp
toolBar->setStyleSheet("QToolBar { border: none; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F6F6F6, stop:1 #E0E0E0); padding: 6px; }");
```
4. 将工具栏中的工具按钮设置为不可移动和不可调整大小:
```cpp
toolBar->setMovable(false);
toolBar->setFloatable(false);
```
这样,你就可以在 QMainWindow 中创建一个合并了工具栏和标题栏的窗口了。
阅读全文