qt qmainwindow主界面原生标题栏 设置标题栏高度、字体和图标大小
时间: 2024-05-16 20:17:49 浏览: 484
在 Qt 中,可以使用 `setWindowTitle()` 方法设置主窗口的标题。要自定义标题栏的高度、字体和图标大小,可以通过继承 QMainWindow 并重写 `paintEvent()` 方法来实现。
下面是一个示例代码,演示了如何设置自定义标题栏的高度、字体和图标大小:
```cpp
#include <QtWidgets>
class CustomWindow : public QMainWindow
{
public:
CustomWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
// 设置标题
setWindowTitle("Custom Window");
// 设置标题栏高度
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(false);
setSizePolicy(sizePolicy);
setFixedHeight(50);
// 设置标题栏字体
QFont font;
font.setFamily("Arial");
font.setPixelSize(16);
font.setBold(true);
setFont(font);
// 设置标题栏图标大小
setWindowIcon(QIcon(":/icon.png"));
setWindowIconSize(QSize(32, 32));
}
protected:
void paintEvent(QPaintEvent *event) override
{
QMainWindow::paintEvent(event);
// 绘制自定义标题栏背景
QPainter painter(this);
painter.fillRect(QRect(0, 0, width(), height()), QBrush(QColor(100, 100, 100)));
// 绘制自定义标题栏文字
painter.setPen(Qt::white);
painter.drawText(QRect(0, 0, width(), height()), Qt::AlignCenter, windowTitle());
}
};
```
在这个示例中,我们继承了 QMainWindow 类,并在构造函数中设置了标题、标题栏高度、标题栏字体和图标大小。然后,我们重写了 `paintEvent()` 方法,绘制了自定义的标题栏背景和文字。你可以根据需要修改这个示例代码,以满足你的需求。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)