qt qmainwindow主界面原生标题栏 设置标题栏高度、字体和图标大小
时间: 2024-05-04 18:21:45 浏览: 88
在 Qt 中,可以使用 `QMainWindow` 类来创建主窗口,其中包含一个原生标题栏。
要设置标题栏的高度、字体和图标大小,可以通过自定义 `QMainWindow` 类并重写 `paintEvent()` 方法来实现。
以下是一个示例代码,可以设置标题栏高度为 40,字体为 Arial 12,图标大小为 20x20:
```cpp
#include <QMainWindow>
#include <QPainter>
#include <QStyleOptionTitleBar>
class CustomMainWindow : public QMainWindow {
public:
CustomMainWindow(QWidget *parent = nullptr) : QMainWindow(parent) {}
protected:
void paintEvent(QPaintEvent *event) override {
QMainWindow::paintEvent(event);
// 获取标题栏样式选项
QStyleOptionTitleBar titleBarOption;
titleBarOption.initFrom(this);
// 设置标题栏高度
titleBarOption.rect.setHeight(40);
// 设置标题栏字体
QFont font("Arial", 12);
titleBarOption.fontMetrics = QFontMetrics(font);
titleBarOption.font = font;
// 设置标题栏图标大小
titleBarOption.iconSize = QSize(20, 20);
// 绘制标题栏
QPainter painter(this);
style()->drawComplexControl(QStyle::CC_TitleBar, &titleBarOption, &painter, this);
}
};
```
使用自定义的 `CustomMainWindow` 类来创建主窗口,即可看到标题栏的高度、字体和图标大小已经被修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)