QFrame类是有框架的窗口部件的基类。

QPopupMenu使用这个来把菜单“升高”,高于周围屏幕。QProgressBar有“凹陷”的外观。QLabel有平坦的外观。这些有框架的窗口部件可以被改变。

QLabel label(...);
 label.setFrameStyle(QFrame::Panel | QFrame::Raised);
 label.setLineWidth(2);
 
 QProgressBar pbar(...);
 label.setFrameStyle(QFrame::NoFrame);

QFrame类也可以直接被用作创建一个简单的框架,而没有任何内容。

框架类型可以通过 frame shape 和 shadow style 这两个属性来指定,以区别其他控件;

这些属性可以通过setFrameStyle()来一起设置,frameStyle()函数读取

1、frame shape包括: NoFrame, Box, Panel, StyledPanel, HLine ,VLine;

enum QFrame::Shape

Constant

Value

Description

QFrame::NoFrame

0

QFrame draws nothing不画任何

QFrame::Box

0x0001

QFrame draws a box around its contents内容四周有框

QFrame::Panel

0x0002

QFrame draws a panel to make the contents appear raised or sunken有平台使内容看起来凹起或下沉

QFrame::StyledPanel

0x0006

draws a rectangular panel with a look that depends on the current GUI style. It can be raised or sunken.

依据当前GUI类型,画一个矩形面板,可以凹起或下沉

QFrame::HLine

0x0004

QFrame draws a horizontal line that frames nothing (useful as separator)画一个没有框架的水平线(用作分隔符)

QFrame::VLine

0x0005

QFrame draws a vertical line that frames nothing (useful as separator) 画一个没有框架的垂直线(用作分隔符)

QFrame::WinPanel

0x0003

draws a rectangular panel that can be raised or sunken like those in Windows 95. Specifying this shape sets the line width to 2 pixels. WinPanel is provided for compatibility. For GUI style independence we recommend using StyledPanel instead.

画类似win95的矩形面板,指定形状线宽2象素。

2shadow styles 包括 Plain Raised Sunken.

3、一个框架控件有三个属性,描述边框的宽度:lineWidth,midLineWidth,frameWidth

线宽就是框架边界的宽度

中间线宽指定的是在框架中间的另外一条线的宽度,它使用第三种颜色来得到一个三维的效果。注意中间线只有在BoxHLineVLine这些凸起和凹陷的框架中才被绘制。

框架宽度决定于框架类型,frameWidth()函数根据当前使用的style类型获得值

http://blog.csdn.net/mociml/article/details/5086007

Qt4.5 QFrame(相当于Delphi里的TPanel,有各种凹凸方式)的更多相关文章

  1. Delphi里的Windows消息(可查MSDN指定位置)

    各种控件的通知消码和控制消息可由MSDN-> Platform SDK-> User Interface Services->Windows User Interface->C ...

  2. 在单文件组件中,引入安装模块里的css的2种方式:script中引入、style中引入

    在单文件组件中,引入安装模块里的css的2种方式:script中引入.style中引入 1.script中引入 <script> import 'bulma/css/bulma.css' ...

  3. 用delphi检查网络连接状态3种方式

    用delphi检查网络连接状态3种方式 用delphi检查网络连接状态 检测计算机是否联网比较简单的做法可以通过一个 Win32 Internet(WinInet) 函数 InternetCheckC ...

  4. 终于懂了:WM_PAINT中应该用BeginPaint与EndPaint这两个api,它们的功能正是使无效区域恢复(所以WM_PAINT里即使什么都不做,也必须写上BeginPaint与EndPaint)——Delphi里WM_PAINT消息的三个走向都做到了这一点 good

    程序本来是想实现鼠标单击改变背景颜色.可是,程序运行时,为什么没有任何消息触发,背景颜色就一直不断的改变了?WM_PAINT怎么被触发的 #include <windows.h> #inc ...

  5. 不是什么时候都可以用栈来声明对象并使用(自动释放)——Delphi里到处都是编译器魔法,并且自动帮助实例化界面元素指针

    一直都喜欢这样显示窗口,因为简单高效: void MainWidget::ShowMyWindow() { MyWidget form(this); form.resize(,); form.exec ...

  6. String[255]在高版本Delphi里还是被解释成Byte,总体长度256,使用StrPCopy可以给Array String拷贝字符串(内含许多实验测试)

    学了好多不了解的知识: procedure TForm1.Button1Click(Sender: TObject); var s1 : String; s2 : String[]; begin s1 ...

  7. WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)

    #define WM_ERASEBKGND                   0x0014 Parameters wParam A handle to the device context. //  ...

  8. delphi里为程序任务栏右键菜单添加自定义菜单

    本文讲解的是为自身程序的任务栏右键菜单里添加自己定义的菜单的方法: delphi添加任务栏右键菜单 procedure TForm1.FormCreate(Sender: TObject); var ...

  9. delphi里动态创建AlphaControls实现换肤

    AlphaControls是一套Delphi下的优秀的皮肤vcl控件.几年前,一般用得比较多的是vclskin,使用很方便,可惜这套2010年已经停止维护了.后来就看到更多的人开始推崇AlphaCon ...

随机推荐

  1. 用预编译包安装zabbix-agent

    如果主机无法上网,安装rpm又缺少依赖时,可以通过预编译包进行安装zabbix-agent,下载地址 https://www.zabbix.com/download 下载后,执行如下命令: wget ...

  2. Oracle使用——PLSQL查询表结构并导出EXCEL

    背景 有一次需要查询Oracle数据库中的所有表接口并且导出excel,方法记录如下 使用 使用PLSQL工具查询表结构,SQL语句如下 SELECT B.TABLE_NAME AS '表名', C. ...

  3. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛C. Sum【脑洞题】

    限制:1000ms 32768K Define the function S(x) for xx is a positive integer. S(x) equals to the sum of al ...

  4. 无人驾驶——对frenet坐标的理解

    好的确定车和路之间的关系,我们通常将车辆的在大地坐标坐标转化为车辆和道路之间的frenet坐标. 可能有人会疑问为什么转换后就方便了呢?我们来看一个例子. 在大地坐标下: 无人车首先要知道红色车的位置 ...

  5. PHPExcel 设置表格边框

    //设置单元格边框 $style_array = array( 'borders' => array( 'allborders' => array( 'style' => \PHPE ...

  6. mysql数据库之工作流程

    MySQL架构总共四层,在上图中以虚线作为划分. 首先,最上层的服务并不是MySQL独有的,大多数给予网络的客户端/服务器的工具或者服务都有类似的架构.比如:连接处理.授权认证.安全等. 第二层的架构 ...

  7. 添加SuperSocket的启动代码到 Windows Azure 的 WorkRole 项目

    与其它SuperSocket程序相同,启动代码同样也要写到程序的入口处,如 Windows Azure 的 WorkRole 项目的OnStart() 方法: public override bool ...

  8. Python--day70--ORM一对一表结构

    ORM一对一表结构:

  9. H3C 帧中继配置示例

  10. 如何查看linux中的ssh端口开启状态

    netstat -anp |grep 22 netstat -anp |grep sshlsof -i :22