Qt入门系列开发教程基础控件篇框架QFrame
Posted 鱼酱2333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt入门系列开发教程基础控件篇框架QFrame相关的知识,希望对你有一定的参考价值。
描述
QMenu 使用它来“提升”周围屏幕上方的菜单。 QProgressBar 有一个“下沉”的外观。 QLabel 外观扁平。像这样的小部件的框架可以更改。
QLabel 标签(…);
label.setFrameStyle(QFrame::Panel | QFrame::Raised);
标签.setLineWidth(2);
QProgressBar pbar(…);
label.setFrameStyle(QFrame::NoFrame);
QFrame 类也可以直接用于创建没有任何内容的简单占位符框架。
框架样式由框架形状和阴影样式指定,用于在视觉上将框架与周围的小部件分开。这些属性可以使用 setFrameStyle() 函数一起设置,并使用 frameStyle() 读取。
框架形状有 NoFrame、Box、Panel、StyledPanel、HLine 和 VLine;阴影样式是平原,凸起和沉没。
框架部件具有描述边框粗细的三个属性:lineWidth、midLineWidth 和 frameWidth。
线宽是框架边框的宽度。可以对其进行修改以自定义框架的外观。
中线宽度指定帧中间多出一条线的宽度,它使用第三种颜色来获得特殊的 3D 效果。请注意,仅针对凸起或凹陷的 Box、HLine 和 VLine 框架绘制中线。
框架宽度由框架样式确定,frameWidth() 函数用于获取为使用的样式定义的值。
可以使用 QWidget::setContentsMargins() 函数自定义框架和框架内容之间的边距
下表显示了一些样式和线宽的组合:
枚举
enum QFrame::Shadow
变量 | 值 | 内容 |
---|---|---|
QFrame::Plain | 0x0010 | 框架和内容与周围环境保持水平; 使用调色板 QPalette::WindowText 颜色绘制(没有任何 3D 效果) |
QFrame::Raised | 0x0020 | 框架和内容出现凸起; 使用当前颜色组的浅色和深色绘制 3D 凸起线 |
QFrame::Sunken | 0x0030 | 框架和内容出现凹陷; 使用当前颜色组的明暗颜色绘制 3D 凹陷线 |
enum QFrame::Shape
变量 | 值 | 内容 |
---|---|---|
QFrame::NoFrame | 0 | 什么都不画 |
QFrame::Box | 0x0001 | 在其内容周围绘制一个框 |
QFrame::Panel | 0x0002 | 绘制一个面板以使内容看起来凸起或凹陷 |
QFrame::StyledPanel | 0x0006 | 绘制一个矩形面板,其外观取决于当前的 GUI 样式。 它可以升起或下沉。 |
QFrame::HLine | 0x0004 | 绘制一条没有框架的水平线(用作分隔符) |
QFrame::VLine | 0x0005 | 绘制一条没有框架的垂直线(用作分隔符) |
QFrame::WinPanel | 0x0003 | 绘制一个可以像 Windows 2000 中那样凸起或凹陷的矩形面板。指定此形状会将线宽设置为 2 像素。 提供 WinPanel 是为了兼容。 对于 GUI 样式独立性,我们建议改用 StyledPanel。 |
enum QFrame::StyleMask
| 变量 | 值 | 内容 |
| :------------------ | :----- | :----------------------------------------------------------- |
|QFrame::Shadow_Mask|0x00f0|frameStyle() 的阴影部分|
|QFrame::Shape_Mask|0x000f|frameStyle() 的 Shape 部分|
API
//frame矩形
QRect frameRect() const
//此属性保存来自框架样式的框架阴影值
QFrame::Shadow frameShadow() const
//此属性保存框架样式中的框架形状值
QFrame::Shape frameShape() const
int frameStyle() const
int frameWidth() const
//线宽度
int lineWidth() const
//中线宽度
int midLineWidth() const
void setFrameRect(const QRect &)
//设置阴影
void setFrameShadow(QFrame::Shadow)
//设置形状
void setFrameShape(QFrame::Shape)
void setFrameStyle(int style)
void setLineWidth(int)
void setMidLineWidth(int)
以上是关于Qt入门系列开发教程基础控件篇框架QFrame的主要内容,如果未能解决你的问题,请参考以下文章
Qt入门系列开发教程基础控件篇小部件(所有控件的基类QWidget)
Qt入门系列开发教程基础控件篇QProgressBar进度条