码迷,mamicode.com
首页 > 其他好文 > 详细

Qt QDialog 设置圆角

时间:2018-11-23 22:29:32      阅读:1221      评论:0      收藏:0      [点我收藏+]

标签:order   简单   .com   round   set   dialog   oss   样式表   属性   

对于普通的控件,我们通过样式表(css)设置圆角就比较简单

border-radius:5px

但是这个方法对于QDialog并没有作用。经过仔细研究发现了。原来QDialog只是一个容器,对于已经设置无边框(Qt::FramelessWindowHint)的对话框,直接设置border-radius并没有作用。

那怎么办呢?

我们可以在QDialog里放置一个QFrame控件,所有的布局都在QFrame控件里设置。然后设置QFrame控件的圆角就ok了。

1.结构应该就是这样子的。

技术分享图片
2.设置frame的样式表

QFrame
{
    background-color:#ffffff;

    border:none;
    border-radius:10px;
}

3.设置QDialog对话框的属性:在dialog对话框的构造函数设置对话框背景透明

    setWindowFlags(Qt::FramelessWindowHint | Qt::Tool);
    setAttribute(Qt::WA_TranslucentBackground);

技术分享图片

Qt QDialog 设置圆角

标签:order   简单   .com   round   set   dialog   oss   样式表   属性   

原文地址:http://blog.51cto.com/4754569/2321334

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!