1,布局
布局分为三种:水平布局,垂直布局,栅格布局。
布局的很多时候会用到弹簧。
2,样式表
Qt样式表与CSS的语法规则几乎完全相同。通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(),可以为一个独立的子部件、整个窗口,甚至是整个应用程序制定一个样式表。可以使用样式表做成很好看的控件。
语法如下: setStyleSheet(selector{attribute:value} );selector选择器部分通常是一个类名,{}大括号里面一个是属性名,一个是属性的值。属性之间用;间隔开。
3,事件
Qt程序要在main()函数创建一个QApplication对象,然后调用它的exec()函数。这个函数就是开始Qt的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件,当事件发生时,Qt将创建一个事件对象,Qt中所有事件类都继承于QEvent。在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是按照事件对象的类型分派给特定的事件处理函数。
e -> ignore();忽略,事件继续往下传递,传递给父组件。
event(),函数的作用是用作事件分发的。
4,事件过滤器
虽然通过实现event()函数可以实现事件过滤,但是如果一个窗口中的控件太多时,就不容易过滤了。这时候就要用到事件过滤器。 virtual bool QObject::eventFilter(QObject *watched,QEvent *event); 第一个参数是指定过滤哪一个控件的,第二个参数是过滤哪个事件。上面是创建过滤器,使用时要进行安装,使用installEventFilter(QObject *w),w是指过滤到事件后,由对象w处理。
5, 重用控件的介绍
学习这些空间,如果不好理解,可以在Qt的设计器中自己试一下,看一下效果即可。
Group Box 存放各个控件的,不带滚动效果
Scroll Box 用于水平滚动或者是垂直滚动
Tool Box 像抽屉式的容器,点击哪一个,哪一个控件出来
Tab Widget 属于标签式的容器,点击哪一个就会切换到那一页
Stacked Widget 属于栈式的容器
Frame 和 Widget 这两个容器常用于布局,Frame是双边框的,Widget是单边框的。主要用于画分区域
Line Edit 行编辑,获取内容的方法。text()
Combo Box 属于下拉框
Font Combo Box 字体选择的下拉框
Text Edit 文本编辑,除了显示文字之外还可以显示图片。
Plain Text Edit 只能显示文字
Spin Box 和 Double Spin Box 两个控件属于微调数据的,应用于上下拉。
Date/Time Edit 日期时间编辑区。
Key Sequence Edit 设计快捷方式时会用到的控件
Label 只能显示,不能编辑。可以显示动画,图片,链接等。
LCD Number 数码管控件
Progress Bar 进度条