qframe不能设置边框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qframe不能设置边框相关的知识,希望对你有一定的参考价值。

步骤:

1、在qtdesigner中选择需要设置边框的对象

2、在属性编辑框(一般在右下角)找到stylesheet,并打开编辑样式表界面

3、在添加颜色中选择任意一种颜色,我们主要是获取rgb的值

4、然后改成下面格式

#frameborder:1px solid rgb(0,255,0) //frame代表你需要设置边框的frame对象名,1px是边框的线宽,solid为边框形式为实线,rgb为边框颜色

5、点击确定即可
参考技术A 1

qt窗口,包括窗口边框和去掉边框的窗口部分。frameGeometry属性保存带边框窗口的一些属性,geometry属性保存了不带边框的窗口属性。

2

获取包括边框的窗口大小方法,在窗口类中调用frameGeometry().height()和frameGeometry().width()分别获取窗口的高宽。

3

获取不带边框窗口大小的方法,有两种,在窗口中调用geometry().width()和geometry().height() 或者 width() 和 height() 获取窗口的宽高信息。

4

窗口的属性位置信息,可以通过x()和y() 获取窗口左上角的左边,geometry().x()和 geometry().y() 去除边框的左上角位置坐标。
参考技术B 1、在qtdesigner中选择需要设置边框的对象
2、在属性编辑框(一般在右下角)找到stylesheet,并打开编辑样式表界面
3、在添加颜色中选择任意一种颜色,我们主要是获取rgb的值
4、然后改成下面格式
#frameborder:1px solid rgb(0,255,0) //frame代表你需要设置边框的frame对象名,1px是边框的线宽,solid为边框形式为实线,rgb为边框颜色
5、点击确定即可

Qt QDialog 设置圆角

对于普通的控件,我们通过样式表(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);

技术分享图片

以上是关于qframe不能设置边框的主要内容,如果未能解决你的问题,请参考以下文章

Qt QDialog 设置圆角

qtableview 表格风格设置

如何在 PySide2 中添加边框或设置透明 QLayout?

仅使用调色板获取和设置 QFrame 或 QGroupBox 的背景颜色

在 QFrame 中嵌入 IE 窗口

Qt:何时使用继承与设置属性?