QT----第三天,Visio stdio自定义封装控件
2023-12-13 04:21:27
源码:CPP学习代码
第三天
1 自定义控件封装
新建一个QT widgetclass,同时生成ui,h,cpp文件
在smallWidget.ui里添加上你想要的控件并调试大小
回到mainwidget.ui,拖入一个widget(因为我们封装的也是widget),右击提升为,输入名字(名字一定要写对)。
此时还需要进入mainWidget.h,按住ALT进入"ui_mainWidget.h",修改smallWidget的<>为引号“”(“”是本地的头文件),这时候运行就能看到我们的控件了。
在smallwidget.cpp里编写代码,让这两个控件QspinxBox和QSilder联系起来,查找手册里的信号和槽,没有就查找父类
//QspinxBox移动,QSlider跟着移动 查手册,没有就查父类
connect(ui.spinBox,&QSpinBox::valueChanged,ui.horizontalSlider,&QSlider::setValue);
//QSilder移动,QspinxBox跟着移动
connect(ui.horizontalSlider, &QSlider::sliderMoved,ui.spinBox, &QSpinBox::setValue);
再添加两个按钮,一个显示值,一个让值变成一半
在smallwidget头文件里定义两个函数,并到cpp里实现
//设置值
void setNumber(int value);
//得到值
int getNumber();
void smallWidget::setNumber(int value)
{
//设置值
ui.spinBox->setValue(value);
}
int smallWidget::getNumber()
{
//返回值
return ui.spinBox->value();
}
再到mainwidget.cpp里实现信号的连接,由于smallwi是连接到mainwi里边的widget,所以可以通过ui来访问widget来得到我们定义的函数
//点击获取值
connect(ui.btn1,&QPushButton::clicked,[=](){
qDebug()<< ui.widget->getNumber();
});
//点击设置值
connect(ui.btn2, &QPushButton::clicked, [=]() {
ui.widget->setNumber(50);
qDebug() << ui.widget->getNumber();
});
文章来源:https://blog.csdn.net/szn1316159505/article/details/134957575
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!