QT等WindowsUI控件整理.docx

上传人:b****2 文档编号:24506507 上传时间:2023-05-28 格式:DOCX 页数:239 大小:1.23MB
下载 相关 举报
QT等WindowsUI控件整理.docx_第1页
第1页 / 共239页
QT等WindowsUI控件整理.docx_第2页
第2页 / 共239页
QT等WindowsUI控件整理.docx_第3页
第3页 / 共239页
QT等WindowsUI控件整理.docx_第4页
第4页 / 共239页
QT等WindowsUI控件整理.docx_第5页
第5页 / 共239页
点击查看更多>>
下载资源
资源描述

QT等WindowsUI控件整理.docx

《QT等WindowsUI控件整理.docx》由会员分享,可在线阅读,更多相关《QT等WindowsUI控件整理.docx(239页珍藏版)》请在冰豆网上搜索。

QT等WindowsUI控件整理.docx

QT等WindowsUI控件整理

WindowsUI控件整理

前言

文中控件的整理主要参考QT、MFC、Forms,还有少量参考公司产品KS。

对于来自QT的大部分控件,其属性、事件、方法等都是由QWidgets派生而来。

现将QWidget的属性和事件整理如下:

 属性中多次出现sizeHint 

这个属性所保存的QSize类型的值是一个被推荐给widget的尺寸(并不一定就是widget的尺寸)。

当sizeHint的取值是一个无效值的时候(sizeHint().isValid()返回false,QSize中width或者height有一个为负数就会是无效的),什么作用也没有;当它是一个有效值的时候,它就成了widget大小的一个参考。

Qt中对sizeHint()的默认实现是这样的:

当widget没有布局(layout)时,返回无效值;否则返回其layout的首选尺寸(preferredsize)。

注:

文中所有鼠标单击双击事件均可分为左键和右键;

属性值得更改均会引发响应的事件,因此不一一列出;

每个属性都有其设置方法、获取方法、判断方法,因此不一一列出;

QWidgets属性

序号

属性

描述

备注

1

ObjectName

设置控件名称

2

Enable

控件是否可用

3

Geometry

控件在对话框中的位置大小

X、Y、宽度、高度

4

sizePolicy

控价的大小属性

这个属性保存了该widget的默认布局属性,如果它有一个layout来布局其子widgets,那么这个layout的sizepolicy将被使用;如果该widget没有layout来布局其子widgets,那么它的sizepolicy将不被使用。

默认的policy是Preferred/Preferred。

 

A.Fixed:

widget的实际尺寸只参考sizeHint()的返回值,不能伸展(grow)和收缩(shrink)B.Minimum:

可以伸展和收缩,不过sizeHint()的返回值规定了widget能缩小到的最小尺寸

C.Maximum:

可以伸展和收缩,不过sizeHint()的返回值规定了widget能伸展到的最大尺寸

D.Preferred:

可以伸展和收缩,但没有优势去获取更大的额外空间使自己的尺寸比sizeHint()的返回值更大

E.Expanding:

可以伸展和收缩,它会尽可能多地去获取额外的空间,也就是比Preferred更具优势

可以伸展和收缩,不过sizeHint()的返回值规定了widget能缩小到的最小尺寸,同时它比Preferred更具优势去获取额外空间

忽略sizeHint()的作用

5

Minimumsize

最小尺寸

H*w=0*0

6

Maxmumsize

最大尺寸

*

7

Sizeincrement

当用户重新定义窗口尺寸的时候,窗口会以basesize为基准,按照()和()的属性来变化。

width=baseSize().width()+i*sizeIncrement().width();

height=baseSize().height()+j*sizeIncrement().height();

8

Basesize

9

Palette

调色板

设置背景色等

10

Font

设置字体

11

Cursor

鼠标样式

12

MouseTracking

窗口部件跟踪鼠标是否生效

如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件才会接收鼠标移动事件。

如果鼠标跟踪生效,如果没有按键被按下,这个窗口部件也会接收鼠标移动事件。

13

FocusPolicy

接收键盘输入焦点的方式

Tab、单击

14

CongtextMenuPolicy

语言菜单规则

点击右键就会有菜单弹出

 

为菜单栏属性,有default,action,custom,prevent,no五种方式

Default:

使用默认菜单

Action:

把部件的action作为菜单显示出来

Custom:

自定义

No:

不构建菜单,菜单句柄交给其父来处理

Prevent:

不构建菜单,菜单句柄不交给其父来处理

参见:

窗口部件中拖入事件是否有效。

这是一个拖拽事件的函数,我们把文件拖拽进程序界面打开,之前必须AcceptDrops(true)了以后拖拽,但是只设置acceptDrops还不够,还需要在dragEnterEvent事件中对拖入的对象进行筛选,判断mimeData的类型是否是你能处理的,如果是,则调用

event->acceptProposedAction()放行。

拖放结束后会产生dropEvent事件,在那里进行最后的放置操作。

总之这是拖拽事件函数的一个筛选事件并放置的函数。

16

ToolTip

鼠标放到控件上,出现提示内容

17

ToolTipDuration

设置信息提示的持续时间,单位是毫秒. 

-1

18

StatusTip

在左下角状态栏提示

19

Whatsthis

提供了任何一个部件的简单描述

Shift+F1即可出现

20

LayoutDirection

使布局为靠左或靠右

21

autoFillBackground

背景色是否自动填充

其配色来自platte

22

StyleSheet

编辑样式表

可载入背景图片等

23

Locale

所在地及语言

QLocale对象通过language/country来初始化,

Locale是一个参数集,用于定义用户语言、国家(或地区)以及其他在用户界面中可见的与语言和国家相关的特性,比如日期表示、货币表示等。

24

inputMethodHints

输入限制,键盘布局设置

用于移动端

用于移动端

QWidgets事件

1

键盘按下

2

单击文本框中时发生。

3

在双击控件时发生。

4

按键松开

5

控件获得键盘焦点时

6

控件失去键盘焦点时

7

定时器事件

step1:

启动一个定时器,

step2:

在每个时间间隔后会产生一个QTimeEvent事件,并进入事件循环等待处理;

step3:

当等到QTimeEvent事件处理的时候,会调用timeEvent(QTimeEvent*)事件处理函数来处理这个定时器事件;

step4:

开启定时器后,定时器事件会一直发生着,然后我们可以调用killTimer(int)函数来结束某个定时器,

8

滚动鼠标中键

9

mousePressEvent

鼠标按下

10

mouseReleaseEvent

鼠标松开

11

mouseMoveEvent

鼠标按下移动

12

鼠标单击

click事件,当焦点在些控件上,你点回车之类的就可以激发这个事件!

mouseclick只能是用鼠标单击时发生

13

鼠标双击

14

moveEvent

控件相对其父控件移动时

15

()

重新设置控件尺寸时

16

/leaveEvent

鼠标进入/离开控件区域

17

dragEnter/LeaveEvent

拖拽时鼠标进入控件区域

18

dragMoveEvent

拖拽时光标进去区域或者光标在区域内移动或者按下辅助按键

19

dropEvent

拖拽放下事件,通过鼠标拖拽文本文件到应用程序,打开文本文件,读出其中的内容,显示到窗口中。

20

paintEvent

重绘窗口时(刷新)

21

actionEvent

有行为发生时

(),(),

22

 

有属性更改时

Changeeventsinclude:

,,,,,

.

,,,,,,,,

 

23

closeEvent

顶层的控件关闭时

24

hideEvent

控件隐藏事件

如最小化

25

showEvent

控件展示事件

26

contextMenuEvent

处理以Default形式创建的快捷菜单的右击

Qwidgets方法

Qwidgets公共方法过多,暂未整理

包括各项属性的设置、获取属性值、判断的方法。

Forms中的控件布局属性

Forms中控件的布局属性基本相同

序号

名称

描述

备注

1

anchor

在调整控件的父控件大小时如何自动调整控件的大小。

上、下、左、右

Top——表示控件中与父窗体(或父控件)相关的顶部应该保持固定。

2

dock

Dock属性迫使控件紧贴父窗体(或控件)的某个边缘。

虽然Anchor属性也可以实现这一点,但是dock属性使得你能够在父窗体中让子窗体可以在上方(或旁边)互相“堆叠”。

如果某个子窗体改变了大小,其它停驻在它旁边的子窗体也会随之改变。

Top——迫使控件位于父窗体(或控件)的顶部。

如果有同一个父窗体的其它子控件也被设置为停驻在顶部的话,那么控件将在彼此上方相互堆叠。

Bottom、Left、Right、

Fill——迫使控件位于父窗体(或控件)的上方。

如果有同一个父窗体的其它子控件也被设置为停驻在上方的话,那么控件将在彼此上方相互堆叠。

None——表示控件将会正常运转。

3

Location

位置

相对于对话框左上角

4

margin

margin属性包含了marginleft :

距左元素块距离(设置距左内边距);margintop:

距头顶(上)元素块距离(设置距顶部元素块距离);marginright :

距右元素块距离(设置距右元素块距);marginbottom :

底元素块距离(设置距低(下)元素块距)。

5

maxmumsize

最大尺寸width、height

默认为0*0可任意拖动

6

minimumsize

最小尺寸

默认为0*0可任意拖动

7

size

设置当前尺寸width、height

 

一、Button类控件

Button类控件主要有Pushbutton、ToolButton、RadioButton、CheckBox、CommandLinkButton,依次如下图所示:

在QT中Button类的属性、事件、方法一方面继承自QAbstractButton类,另一方面也有着属于自己的成员。

1.1QAbstractButton类

1.1.1属性

序号

名称

描述

1

autoExclusive

标志自动互斥是否激活

如果是激活的,那么属于同一父窗口的可标记按钮只有一个按钮状态是checked标记的,如果要标记其他的,则当前标记自动取消

用于同一组只能选一个

此属性对于按钮没影响。

主要用于RadioButton、CheckBox、

一般默认默认是false的,而对于radio按钮是true的 

2

autoRepeat

设置在按下按钮时是否定期重复发送(),(),and()信号。

初始的delay和重复周期由and定义设定

3

 autoRepeatDelay

 表示自动重复的初始延时时间。

单位ms

4

autoRepeatInterval

表示自动重复的时间间隔

ms

5

checkable

表示是否可以标记按钮。

True:

点击之后会被标记,再次点击可以取消

False:

鼠标或空格按下时标记,抬起自动取消标记

6

checked

表示设置该按钮是否默认具有标记

QT没有现有的切换按钮或者开关按钮,可以在我们KF中添加实现

7

icon 

可以在此处加载图标;

表示icon是否显示在button按钮上

主要有这这八种状态

8

iconsize

设置图标大小

9

shortCut

快捷键

10

text

按钮上显示的字符串

1.1.2事件

序号

名称

描述

1

键盘按下

2

单击文本框中时发生。

3

在双击控件时发生。

4

按键松开

5

actionEvent

有行为发生时

(),(),()

6

控件获得键盘焦点时

7

控件失去键盘焦点时

8

定时器事件

9

mousePressEvent

鼠标按下

10

mouseReleaseEvent

鼠标松开

11

mouseMoveEvent

鼠标按下移动

12

/leaveEvent

鼠标进入/离开控件区域

13

paintEvent

重绘窗口时(刷新)

14

 

有属性更改时

Changeeventsinclude:

,,,,,

.

,,,,,,,

1.1.3方法

名称

描述

1

()

获取按钮所在的组

2

获取图标的尺寸

3

()

判断当前button是否能够check

4

()

判断当前button是否为选中状态

5

()

判断当前button是否为按下状态

isDown()和isChecked()的不同点:

当用户点击一个切换按钮并且把它选中,按钮首先被按下并且然后被释放变为选中状态。

当用户再次点击(非选中),按钮首先被置为按下状态,然后变为非选中状态(isOn()和isChecked()都为false)。

6

(bool)

设置自动互斥是否激活

7

(bool)

设置按钮是否按下

注意设置这个属性仅仅是改变钮的外观,不会发射任何信号。

8

(bool)

设置按钮是否可以check

9

(int)

设置按钮的AutoRepeatInterval属性

10

(int)

设置按钮的AutoRepeatDelay属性

11

(bool)

设置按钮的AutoRepeat属性

12

(constQIcon&icon)

设置图标

13

(constQKeySequence&key)

设置按钮的快捷键

14

(constQString&text)

设置按钮上的文本

155

setToggleButton() 

按钮是否是一个切换按钮。

16

animateClick(intmsec=100)

动态点击并且msec后释放按钮

click函数不会改变钮的外观,它会直接进行单击的处理过程;而animateClick()函数将完全模拟用户按下按的过程,参数msec就是钮被按下的毫秒数。

两者最终都会导致pressed,released和clicked信号的发射。

17

()

执行一次点击

18

(bool)

设置按钮的Checked属性

19

(constQSize&size)

设置按钮的图标尺寸

20

()

切换checkable按钮的状态

Pushbutton控件

Pushbutton控件通常用于执行命令或触发事件。

其外观如图所示:

1.2.1属性

序号

名称

描述

1

QWidgets属性

2

QAbstractButton属性

3

text

按钮上显示的字符串

4

AutoDefault

此属性保持命令按钮是否自动默认按钮

default和autoDefault属性决定了当用户在一个对话框按enter时发生的事情

   如果一个属性被设置了default,enter键时则此按钮自动发射pressed信号,除非有autoDefault按钮获取了当前焦点,则autoDefault按钮pressed被发射。

   如果对话框dialog只有autoDefault按钮没有default按钮,则当前获取焦点的autoDefault按钮发射pressed,或者没有获取焦点的按钮,则下一个焦点的按钮被发射。

  一个对话框只有一个按钮是default默认按钮,此按钮需要额外的边框表示。

QT对话框没找到此限制,可考虑增加

  默认按钮default行为只在对话框使用。

获取焦点的按钮总是可以通过键盘的空格键触发点击

5

default

标志此命令按钮是一个默认按钮

6

 flat

表示是否显示按钮的border边框

1.2.1事件

序号

名称

描述

备注

1

QAbstractButton事件

2

键盘按下

重写

3

控件获得键盘焦点时

重写

4

控件失去键盘焦点时

重写

5

paintEvent

重绘窗口时(刷新)

重写

1.2.3方法

序号

名称

描述

备注

0

QAbstractButton方法

1

()const

判断是否是默认选中的

2

()const

判断是否是有边框

3

menu

获取按钮的关联菜单

4

(bool)

设置按钮的AutoDefault属性

5

(bool)

设置按钮的Default属性

6

(bool)

设置按钮的Flat属性

7

(QMenu*menu)

将按钮和菜单关联,并使得按钮成为一个菜单按钮

8

()

显示菜单

ToolButton控件

提供了用于命令或选项可以快速访问的按钮,通常可以用在QToolBar里面。

工具按钮和普通的命令按钮不同,通常不显示文本,而显示图标。

1.3.1属性

序号

名称

描述

备注

0

QAbstractButton属性

1

arrowType

按钮是否显示一个arrow代替正常的icon

Qt:

:

NoArrow   Qt:

:

UpArrow  Qt:

:

DownArrow  

Qt:

:

LeftArrow    Qt:

:

RightArrow  

2

autoRaise

悬浮框,是否变迁

是否自动升高,与扁平Flat相对

3

popupMode

描述弹出菜单属性

DelayedPopup按下按钮一定时间后

MenuButtonPopup这种模式下,工具按钮显示一个特殊的箭头以指示菜单是否存在,按下按钮的箭头部分时显示菜单。

InstantPopup按下工具按钮时菜单显示,无延迟。

这种模式下,按钮自身的动作不触发。

4

toolButtonStyle

表示按钮文本和图片显示位置

ToolButtonIconOnly只显示图标

ToolButtonTextOnly只显示文本

ToolButtonTextBesideIcon文本显示在图标旁边Qt:

:

ToolButtonTextUnderIcon文本显示在图标下边ToolButtonFollowStyle遵循QStyle:

:

StyleHint

1.3.2事件

序号

名称

描述

备注

0

QAbstractButton事件

1

actionEvent

有行为发生时

(),(),

重写

2

定时器事件

重写

3

mousePressEvent

鼠标按下

重写

4

mouseReleaseEvent

鼠标松开

重写

5

leaveEvent

鼠标进入/离开控件区域

重写

6

paintEvent

重绘窗口时(刷新)

重写

7

有属性更改时

重写

1.3.3方法

序号

名称

描述

备注

0

QAbstractButton方法

1

(Qt:

:

ArrowTypetype)

设置按钮的ArrowType属性

2

(boolenable)

设置按钮的AutoRaise属性

3

setMenu

将按钮和菜单关联,并使得按钮成为一个菜单按钮

4

(ToolButtonPopupModemode)

设置按钮的PopupMode属性

5

(QAction*action)

设置默认的QAction,如果有一个默认的action,该action则会定义QToolButton的文本、图标、TooTip等按钮的属性。

6

(Qt:

:

ToolButtonStylestyle)

设置按钮的ToolButtonStyle属性

7

()

显示菜单

RadioButton控件

单选框,通常成组出现,用于提供两个或多个互斥选项。

1.4.1属性

序号

名称

描述

备注

0

QAbstractButton属性

1.4.2事件

序号

名称

描述

备注

1

QAbstractButton事件

2

mouseMoveEvent

鼠标按下移动

重写

3

paintEvent

重绘窗口时(刷新)

重写

1.4.3方法

序号

名称

描述

备注

0

同QAbstractButton方法

CheckBox控件

复选框,与RadioButton的区别是选则模式,单选框提供多选一,复选框提供多选。

1.5.1属性

序号

名称

描述

备注

0

继承QAbstractButton属性

1

tristate

设置复选框是否具有三种选择状态

默认只有两种选中、未选中、无改变

1.5.2事件

序号

名称

描述

备注

1

QAbstractButton事件

2

mouseMoveEvent

鼠标按下移动

重写

3

paintEvent

重绘窗口时(刷新)

重写

1.5.3方法

序号

名称

描述

备注

1

QAbstractButton方法

2

()const

判断是否是三态模式

3

(Qt:

:

CheckStatestate)

设置按钮的check状态

4

(booly=true)

设置按钮的Tristate属性

CommandLinkButton控件

它和RadioButton相似,都是用于在互斥选项中选择一项。

表面上同平面按钮一样,但是CommandLinkButton除带有正常的按钮上的文字描述文本外,默认情况下,它也将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。

1.6.1属性

序号

名称

描述

备注

0

QAbstractButton属性

1

AutoDefault

此属性保持命令按钮是否自动默认按钮

default和autoDefault属性决定了当用户在一个对话框按enter时发生的事情

   如果一个属性被设置了default,enter

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1