QT Creator上位机学习(二)基础布局控件及信号与槽

c# 系列文章目录


文章目录

  • 布局控件
  • 信号与槽
    • 第二种connect
  • 程序图标
  • 使用技巧


布局控件

美化界面的时候,经常需要进行一些控件的布局,这时需要使用一些容器类。
QT Creator上位机学习(二)基础布局控件及信号与槽_第1张图片
在我们设计布局的时候,可以通过设置控件的最大最小值,可以使得控件不按照布局效果等比例缩放,可以设计出更加多样的效果。
QT Creator上位机学习(二)基础布局控件及信号与槽_第2张图片
在快捷栏出,也有一些布局设计的选择
QT Creator上位机学习(二)基础布局控件及信号与槽_第3张图片
QT Creator上位机学习(二)基础布局控件及信号与槽_第4张图片
如上图,其中涉及到几种编辑状态:
1.Edit Widget:正常界面设计状态
2.Edit Signals/Slots:可视化信号与槽界面(这种方法的connect在ui_xxxxx.h文件中见下文)
在这里插入图片描述
3.Edit Buddies:伙伴关系,将Lable与一个组件建立伙伴关系,这样Lable的快捷键就绑定在该组件上了。
QT Creator上位机学习(二)基础布局控件及信号与槽_第5张图片
用下图设置快捷键:界面不显示&,用户按下Alt+A就行了
QT Creator上位机学习(二)基础布局控件及信号与槽_第6张图片
输入就会切换到后面的输入框
在这里插入图片描述
4.Edit Tab Order:进入Tab顺序组件编号状态,在运行时,按下Tab就会切换,我只是测试了Line Edit,可以用的

信号与槽

信号:特定的触发事件。
槽:对应信号的函数。

将槽函数与信号关联之后,当信号产生的时候,槽函数将自动执行。

QObject::connect(sender,SIGNAL(signal()),receiver,SLOT(slot()));

connect() 是一个静态函数(不会修改对象的数据成员),实际调用时不需要加QObject::,它是Qt类的基类,四个参数分别是:发送信号的对象名称、信号、接收信号的对象名称、槽函数。

要点:
1.一个信号可以连接多个槽函数
2.多个信号可以连接一个槽函数
3.一个信号连接到另外一个信号,实现一个信号发生时,另外一个也会发生
4.严格情况,信号与槽的参数个数和类型需要一致,可能会报错
5.信号发生后,会立马执行槽函数,执行完毕后才会执行发射信号后面的代码
6.使用信号与槽的类中,必须在类的定义中加入宏Q_OBJECT

如何建立:一般对一个控件直接鼠标右键,选择转到槽就可以选择我们需要的信号与槽函数
QT Creator上位机学习(二)基础布局控件及信号与槽_第7张图片
可以看到,代码中会自动生成槽函数,该槽的信号是按钮的点击。
QT Creator上位机学习(二)基础布局控件及信号与槽_第8张图片
这里不需要手动进行connect,这是因为在编译生成的ui_xxxxxx.h文件中,有:
QT Creator上位机学习(二)基础布局控件及信号与槽_第9张图片

QMetaObject::connectSlotsByName(MainWindow);

这个函数将搜索界面上的所有控件,将信号与槽关联起来,他是根据函数命名进行关联的,它搜索槽函数的规则是:

void on_<object name>_<signal name>(<signal parameters>);

所以当我们编写一个槽函数或者自动生成的槽函数:
QT Creator上位机学习(二)基础布局控件及信号与槽_第10张图片

它就会判断是pushButton对象的clicked信号的槽函数,并且将此与控件的信号进行关联,这也是UI设计可视化的一个便捷之处。当然如果我们不按照这个格式写,就要自己手动connect了。

第二种connect

对于具有默认参数的信号与槽(即信号名称是唯一的,没有参数不同而信号同名的情况),可以使用函数指针进行关联:

例如:

connect(lineEdit,&QLineEdit::textChanged,this,&widget::on_textChanged);

QLineEdit只有一个信号textChanged(QString),在自定义窗体类Widget里面定义一个槽函数on_textChanged(QString),就可以利用上面的程序进行关联,无需出现函数参数。

程序图标

1.将图标文件.ico复制到项目的源程序目录下
2.在.pro的项目配置文件中设置:RC_ICONS = xxxxx.ico

使用技巧

Shift+F2:在函数原型和函数定义之间切换
Ctrl+Shift+R:同名全部替换
Ctrl+I:自动缩进
Ctrl+/:注释/取消注释
QT Creator上位机学习(二)基础布局控件及信号与槽_第11张图片
多用Help帮助系统,若需要查看类的继承关系,访问“Inheritance Hierarchy”
QT Creator上位机学习(二)基础布局控件及信号与槽_第12张图片

你可能感兴趣的:(Qt学习,qt,学习,上位机)