自定义QT标题栏和背景·边框

QT problem 专栏收录该内容
3 篇文章 0 订阅
  • 考虑到QT界面不是很美观,我们可以自己定义QT界面的标题栏,以及设置背景和边框根据自己的喜好,下图是正常的界面。

这里写图片描述



  • 现在在项目的构造函数里ui.setupUi(this);后面添加如下几句代码,就可以去除标题栏,边框和背景。
//不显示标题栏,亦无边框
    setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
    //设置背景(全透明)
    setAttribute(Qt::WA_TranslucentBackground);


  • 接下来我们往项目文件夹里resource目录里添加我们自己喜欢的背景图片以及标题栏图片,有个问题是要选择与你设置的界面尺寸大小合适的尺寸图片,一般可以用p图软件自己定制你喜欢的图片,右键图片可以复制图片路径哈;如图

这里写图片描述

图标下载可以戳这


  • 接下来重画界面,头文件里定义Qpixmap 对象以及声明paintEvent函数;
private:
    virtual void paintEvent(QPaintEvent *event);
    QPixmap m_imgTitle, m_back;

  • 构造函数里加载选择的图片,paintEvent函数里重画背景边框和标题栏,如下->
m_imgTitle.load(":/snakegame/Resources/title-bg.jpg");
    m_back.load(":/snakegame/Resources/flower_128px_536725_easyicon.net.png");

这里写图片描述


  • 我设置的是以蒲公英为大背景,上面是兰花为标题栏背景如下图

这里写图片描述



  • 我们还可以自己设置按钮和功能,比如给pushButton添加个信号和槽实现界面隐藏退出等自定义功能根据自身喜好,我还想强调下用p图软件根据此界面尺寸定制背景图会更美观哦。

怎么样是不是比原来的界面更美观呢,不过有个问题是该界面你不能拖动
想一想用mouseMoveEvent mousePressEvent mouseReleaseEvent如何实现吧;
我也是才接触QT不久,希望和大家相互学习;

  • 8
    点赞
  • 3
    评论
  • 15
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值