ROS下基于Qt的人机交互开发(二)Qt基础
·
目录
一、常用控件
1.按钮:Button
1)代码创建
//创建按钮
QPushButton * btn = new QPushButton;
//设置按钮的父类
btn->setParent(this);
//设置按钮显示内容
btn->setText("文本");
//上面三个可以用下述方法统一表示
QPushButton * btn2 = new QPushButton("文字",this);
//设置按钮位置
btn->move(宽,高);
//重新指定按钮大小
btn->resize(宽,高);
例子:
QPushButton * btn = new QPushButton;
btn->setParent(this);
btn->setText("btn文本");
btn->move(0,0);
QPushButton * btn2 = new QPushButton("btn2",this);
btn2->move(100,0);
btn2->resize(100,100);

2)ui创建

2.标签:label
1)代码创建
QLabel *lab=new QLabel("文本",this);
2)ui创建

3.复选框CheckBox
1)代码创建
QCheckBox *check=new QCheckBox("文本",this);
2)ui创建

4.滚动条SliderBar
1)代码创建
QSlider *slider=new QSlider(this);
2)ui创建

5.进度条progressber
1)代码创建
QProgressBar *progress=new QProgressBar(this);
2)ui创建

二、信号与槽
//方法1:
QObject::connect(const QObject *sender,const char *signal,const Qobject *receiver,const char *method,Qt::ConnectionType type = Qt::AutoConnection)
//方法2:
connect(信号的发送者,SIGNAL(信号),信号接受者,SLOT(槽函数) );
注: 参数
- 参数1 信号的发送者
- 参数2 发送的信号(函数地址)
- 参数3 信号的接受者
- 参数4 处理的槽函数 (函数的地址)
例子:将滚动条与进度条连接起来
QLabel *lab=new QLabel("文本",this);
lab->move(0,0);
QCheckBox *check=new QCheckBox("文本",this);
check->move(0,30);
QSlider *slider=new QSlider(this);
slider->move(0,60);
QProgressBar *progress=new QProgressBar(this);
progress->move(0,150);
connect(slider,SIGNAL(valueChanged(int)),progress,SLOT(setValue(int)));
三、资源文件
- 将图片文件 拷贝到项目位置下
- 右键项目->添加新文件 –> Qt - > Qt recourse File - >给资源文件起名
- res 生成 res.qrc
- open in editor 编辑资源
- 添加前缀 添加文件
- 使用 “ : + 前缀名 + 文件名 ”//前缀可以用“/”
- 指针变量名->setIcon(QIcon(“ : + 前缀名 + 文件名”))
四、布局管理
所谓布局,就是界面上组件的排列方式,使用布局可以使组件有规则地分布,并且随着窗体大小变化自动地调整大小和相对位置。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)