概述
一、自定义信号和槽
1、信号和槽必须定义在类中,并且该类必须继承Qt中的某个类,一般选择继承Object。
2、必须在类中开头的部分写Q_OBJECT没有分号。如果在项目构建前没有Q_OBJECT,信号与槽连接就会失败,
哪怕后来添加了Q_OBJECT也会出现以下错误。
错误:undefined reference to 'vtable for Test'
解决办法:找到该文件的路径,删除自动生成的所有文件,用qmake -project qmake make 手动编译。再打开pro就可以了
3、槽函数尾声明在:
访问属性 slots: 下面,像普通函数一样先申明后定义,也可以直接定义。
4、信号要定义在signals:下面,可以有参数。像函数声明一样即可不需要实现。
5、使用emit可以发射信号,要发送信号时,就相当于调用信号函数,可以附加参数。
二、常用控件介绍
1、按钮控件
1、QPushButton
常用设置设:
置显示文字 setText
设置可被选中 setCheckable
设置是否启用 setEnabled
常用信号
clicked 单击
clicked(bool) 单击时是否被选中,前是调用setCheckable设置为真
pressed 按下
released 弹起
toggled 选中,前是调用setCheckable设置为真
customContextMenuRequested 右击,前提是设置setContextMenuPolicy(Qt::CustomContextMenu);
2、QToolButton
常用设置、常用信号与QPushButton类似,增加了添加子选项的功能。
QAction *action1 = new QAction("选项1",ui->toolButton);
ui->toolButton->addAction(action1);
// 悬停信号
connect(action1,SIGNAL(hovered()),this,SLOT(check_slot()));
// 选中信号
connect(action1,SIGNAL(triggered()),this,SLOT(check_slot()));
3、QRadioButton
一个界面中只能有一个QRadioButton按钮被选中,具有排它性。
常用设置、常用信号与QPushButton类似。
4、QCheckBox
可以有多个被勾选的QCheckBox,常用设置、常用信号与QPushButton类似。
6、QDialogButtonBox
由若干个按钮组成,有一个统一的单击信号 clicked(QAbstractButton *button),会告诉槽函数被单击的是哪个按钮。
2、输入类控件
1、QLineEdit
单选文本框,主要用来从界面获取数据,常用于获取用户名密码。
常用设置:
字体字号设置
垂直、水平对齐设置
只读设置
输入模式:
Normal 正常模式
NoEcho 不显示输入的内容
PassWord 以*代码输入的内容
PassWordEchoOnEdit 编辑时显示内容,完成后显示*
常用信号:
textEdited 正常在编辑
textChanged 内容变化了
returnPressed 按下回车键
editingFinished 编辑完成
cursorPositionChanged 光标在文本框内移动了
3、输入类控件
1、QLineEdit
单选文本框,主要用来从界面获取数据,常用于获取用户名密码。
常用设置:
字体字号设置
垂直、水平对齐设置
只读设置
输入模式:
Normal 正常模式
NoEcho 不显示输入的内容
PassWord 以*代码输入的内容
PassWordEchoOnEdit 编辑时显示内容,完成后显示*
常用信号:
textEdited 正常在编辑
textChanged 内容变化了
returnPressed 按下回车键
editingFinished 编辑完成
cursorPositionChanged 光标在文本框内移动了
最后
以上就是眯眯眼钻石为你收集整理的Qt_槽信号-控件介绍的全部内容,希望文章能够帮你解决Qt_槽信号-控件介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复