网站建设成品常州企业家坠楼公司发讣告后删除
news/
2025/9/24 5:35:03/
文章来源:
网站建设成品,常州企业家坠楼公司发讣告后删除,学习软件的网站,武昌网站制作公司c qt–页面布局#xff08;第五部分#xff09;
一.页面布局
在设计页面的左侧一栏的组件中我们可以看到进行页面布局的一些组件 布局组件的使用
1.水平布局
使用#xff1a;将别的组件拖到水平布局的组件中即可#xff0c;可以选择是在哪个位置 2.垂直布局
使用…c qt–页面布局第五部分
一.页面布局
在设计页面的左侧一栏的组件中我们可以看到进行页面布局的一些组件 布局组件的使用
1.水平布局
使用将别的组件拖到水平布局的组件中即可可以选择是在哪个位置 2.垂直布局
使用将别的组件拖到垂直布局的组件中即可可以选择是在哪个位置 3.栅格布局
使用将别的组件拖到栅格布局的组件中即可可以选择是在哪个位置 4.表单布局 分隔组件的使用
1.水平分隔
使用将此组件放到布局组件中即可(也可以直接将组件放到窗口中) 1.垂直分隔
使用将此组件放到布局组件中即可(也可以直接将组件放到窗口中)
在设计页面的上面也有跟左侧一样的页面布局这里使用更加方便一些 这里拿栅格布局进行使用
使用如下图 变成下图的样子 栅格布局具有一定的智能化会自动帮你把要进行栅格布局的组件所占的大小和位置分配好
二.使用了页面布局的例子
实现下面窗口 进行实现
1.设计中用到的组件如下 这里布局用的是栅格布局
2.对用到组件重命名实际上是指向组件的指针的名字 3.将各个组件的功能进行实现
1.设置年龄
在mianwindow.cpp的构造函数中写下面代码
ui-sB_age-setValue(1);//年龄默认设置为1岁2.设置性别
在mianwindow.cpp的构造函数中写下面代码 ui-cB_sex-addItem(男);//设置性别,默认显示第一个ui-cB_sex-addItem(女);3.设置日期
//这里用了QDate这个类中的函数这个函数的返回值就是setDate函数所需要的参数也就是日期
ui-dE_birth-setDate(QDate::currentDate());//设置当天日期4.设置邮箱 QStringList strList{qq.com,163.com,foxmail.com,sina.com};//此变量中存的是字符串之后作为addItems函数的参数ui-cB_emil-addItems(strList);//设置邮箱ui-cB_emil-setCurrentIndex(1);//设置下标为1的邮箱默认显示(这里0是qq.com1是163.com2是foxmail.com3是sina.com与QString链表存入的QString先后顺序有关)//ui-cB_emil-setCurrentText(163.com);//设置163.com邮箱默认显示5.更新头像
将显示照片的组件大小固定显示的图片水平垂直居中 自定义一个槽函数
1.声明
在mianwindow.h的类中写下面代码
public slots:void slots_selete_picture();2.定义
在mianwindow.cpp写下面代码
void MainWindow::slots_selete_picture()
{//更新头像//弹出弹出框选择图片//下面函数需要用到头文件 #includeQFileDialogQString str QFileDialog::getOpenFileName(this/*父窗口*/,请选择一张图片/*弹出框标题*/,C:\\Users\\冉喜文\\Pictures\\Screenshots/*初始路径*/,Images (*.png *.bmp *.jpg)/*过滤能选择的图片 注意格 式与格式之间有空格*/); //用QSting接一下返回值qDebug()str;//看看返回的是什么返回的是路径wenif(!str.isEmpty()){//选择了一张图片//将图片设置到lable组件QPixmap pix(str);QRect rectui-label_picture-geometry();//动态获取显示图片组件宽度、高度pixpix.scaled(rect.width(),rect.height(),Qt::KeepAspectRatio);//保持宽高比缩放到指定大小ui-label_picture-setPixmap(pix);}
}3.进行绑定连接
在mianwindow.cpp的构造函数中写下面代码
connect(ui-pB_picture,SIGNAL(clicked()),this,SLOT(slots_selete_picture()));//将信号与槽函数进行绑定连接当点击下面的按键时就会触发上面的槽函数 6.实现更新按键的功能这里更新的功能是将个人信息存入到文件中
1.创建文件名
在mianwindow.cpp中写下面代码
#define FileName 32.txt2.创建文件
操作文件变量不应该是局部的所以我们在mianwindow.h的类中定义出来
public:QFile file;在mianwindow.cpp的构造函数中写下面代码
QString workPath QDir::currentPath();//获取当前的工作路径QDir dir(workPath);if(!dir.exists()){//路径不存在则创建路径if(dir.mkpath(workPath)){QMessageBox::critical(this,错误,创建路径失败);exit(0);//程序退出}}QString absPathFiledir.absoluteFilePath(FileName);//当前的工作路径和文件名做拼接返回一个新的路径qDebug()absPathFile absPathFile;//看一下路径是否正确file.setFileName(absPathFile);//与路径进行绑定if(!file.open(QIODevice::ReadWrite|QIODevice::Text)){//参数是以什么方式打开文件这里是以可读写文本形式打开文件QMessageBox::critical(this,错误,文件打开失败);exit(0);//程序退出}3.将所有信息写入文件中
自定义一个槽函数
1.声明
在mianwindow.h的类中写下面代码
public slots:void slots_write();2.定义
在mianwindow.cpp写下面代码
void MainWindow::slots_write()
{file.resize(0);//清空文件QString userInfo%1\n%2\n%3\n%4\n%5\n%6\n%7\n%8\n%9\n;//将所有信息存入到一个QString中这里用了灵活格式化userInfo userInfo.arg(ui-le_nick-text())//这里接一下.arg(ui-pTE_write-toPlainText ()).arg(ui-le_name-text()).arg(ui-cB_sex-currentText ()).arg(ui-sB_age-text()).arg(ui-dE_birth-text ()).arg(ui-_tel-text ()).arg(ui-le_mail-text()ui-cb_suffix-currentText ()).arg(ui-lineEdit-text ());qDebug ()userInfo userInfo;//输出一下信息if(-1 file.write(userInfo. toStdString().c_str())){//写入文件失败这里参数要的是const char*类型的所以我们先将QString转为string然后再将string转为const char*QMessageBox::critical(this,错误,用户信息写入文件失败);//错误的弹出框return;}file.flush();//刷新缓冲区将信息及时更新到文件中QMessageBox::information(this,提示,用户信息写入成功);//提示的弹出框
}3.进行绑定
在mianwindow.cpp的构造函数中写下面代码
connect(ui-pB_picture,SIGNAL(clicked()),this,SLOT(slots_selete_picture()));//将信号与槽函数进行绑定连接7.实现清空按键的功能这里清空的功能是将个人信息全部重置为初始状态
自定义一个槽函数
1.声明
在mianwindow.h的类中写下面代码
public slots:void slots_selete_picture();2.定义
在mianwindow.cpp写下面代码
void MainWindow::slots_clearform()
{ui-le_nick-clear();ui-pTE_write-clear();ui-le_name-setText();ui-cB_sex-setCurrentIndex(0);ui-sB_age-setValue(1);ui-dE_birth-setDate(QDate::currentDate());ui-le_phone-clear();ui-le_emil-clear();ui-cB_emil-setCurrentIndex(1);ui-le_school-clear();
}3.进行绑定连接
在mianwindow.cpp的构造函数中写下面代码
connect(ui-pB_clear,SIGNAL(clicked()),this,SLOT(slots_clearform()));//将信号与槽函数进行绑定连接
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914972.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!