首页 > 其他分享 >QT设置窗口边框圆角

QT设置窗口边框圆角

时间:2023-05-09 11:36:40浏览次数:39  
标签:圆角 窗口边框 15 QT rect paintEvent event painter Qt

1.  直接设置样式    setStyleSheet("border:5px solid red;border-radius:10px")

2.  this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明

  this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框窗口 

void SystemWarnDialog::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);	// 反锯齿;
    painter.setBrush(QBrush(Qt::gray));
    painter.setPen(Qt::transparent);
    QRect rect = this->rect();
    rect.setWidth(rect.width() - 1);
    rect.setHeight(rect.height() - 1);
    painter.drawRoundedRect(rect, 15, 15);//也可用QPainterPath 绘制代替 
    // painter.drawRoundedRect(rect, 15, 15);
    // {
    //     QPainterPath painterPath;
    //     painterPath.addRoundedRect(rect, 15, 15);
    //     p.drawPath(painterPath);
    // }
    QWidget::paintEvent(event);
}

3.  主窗体加载不了样式时需要在paintEvent事件中加上如下代码:

{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
    QWidget::paintEvent(event);
}

  

标签:圆角,窗口边框,15,QT,rect,paintEvent,event,painter,Qt
From: https://www.cnblogs.com/xupeidong/p/17384387.html

相关文章

  • CMake+Visual Studio构建Qt程序
    转载:https://www.codenong.com/cs106288798/转载:https://zhuanlan.zhihu.com/p/400804242一、编写代码文件main.cpp#include<QApplication>#include"Mainwindow.h"intmain(intargc,char*argv[]){QApplicationapp(argc,argv);MainWindowmain......
  • QT5 QJson与QString相互转换
    QT5QJson与QString相互转换QString转QJsonQJsonObjectMainWindow::QstringToJson(QStringjsonString){QJsonDocumentjsonDocument=QJsonDocument::fromJson(jsonString.toLocal8Bit().data());if(jsonDocument.isNull()){qDebug()<<"StringNULL&......
  • Qt隐式共享
    看了关于Qt隐式共享的介绍,很像之前学习的智能指针,复制对象的时候引用计数+1。(1) 深拷贝 : 即就是生成对象的一个完整的复制品;(2)浅拷贝:只是一个引用复制(比如仅仅复制指向共享数据的指针)。(3)隐式共享:也叫做写时复制(copyonwrite)。Qt中的很多C++类通过使用隐式数据共享......
  • Qt XML 读写
    QtXML读写XML简介XML(ExtensibleMarkupLanguage)是一种类似于HTML,但是没有使用预定义标记的语言。有许多基于XML的语言,包括XHTML、MathML、SVG、RSS和RDF(en-US)。XML声明<?xmlversion="1.0"encoding="UTF-8"?>注释<!--Comment-->实体像HTML一样,XML......
  • 在linux上使用Qt开发动态库项目,怎么只生成一个so文件
     背景:在linux系统上,我们使用Qt开发动态库项目时,会默认生成四个文件:x.so 、x.so.1、x.so.1.0、x.so.1.0.0四个文件,只有一个真实的so库,剩下的三个都是链接文件。我们交付的时候,不可能发一堆文件出去,所以我们需要对Qt项目进行设置,保证输入的只有一个so文件......
  • QT Create 提示LINK1158:无法运行rc.exe
    使用everything搜索当前电脑上的rc.exe文件。以下是我电脑rc.exe的文件位置。由于我安装vs2015时目录没选到c:/programfile(x86)下(没安到默认目录),而是安装在D盘,那么就要使用D:\WindowsKits下的rc.exe文件。复制“rc.exe”和“rcdll.dll”文件,如果是x64复制x64文件夹下的俩......
  • linux GUI-QT6.5移植到Mini2440
    ----------------------------------------------------------------------------------------------------------------------------内核版本:linux5.2.8根文件系统:busybox1.25.0u-boot:2016.05开发板:Mini2440-----------------------------------------------------------------......
  • Qt中信号与槽
    1.什么是信号:信号的种类很多,不同的控件触发不同的特定信号例如button的信号:(在父类中可以找到)信号与槽同时是通过关联使用的。  2.什么是槽?槽:用于关联某一个控件的信号,信号触发的时候将会执行槽函数(槽函数的关联分为手动关联和自动关联)槽的自动关联;在前面板选中对应的控......
  • 创建一个简单的Qt工程
    1.打开QtCreator进行如下选择。(开软去官网下载即可,注册邮箱可以断网跳过)第一步:选择Application   第二步:这里文件名称和路径都不要有中文第三步:选择编译模式点击下一步第四步:选择Widget点击下一步 第五步:运行工程,判断是否创建成功课堂小记:1.析构函数不能......
  • Android开发:使用Glide动态加载圆形图片和圆角图片
    最新消息,鼎鼎大名的Yelp应用也转投Glide的阵营了,而且Glide在跟Listview的配合起来非常的顺畅,Glide除了配置简单,还可以本地缓存图片,也可以实现Listview图片的提前预加载,使得listview的更加的顺滑,具体可以查看Yelp的那篇博文。但是如果碰到要把加载下来的图片转成圆角或者圆形的图......