概述
上篇已经讲述了onenet基于TCP通信协议的socket编程,接下来将会向大家介绍如何编辑一个QT界面
实现数据的上传和下载,顺带介绍一个登陆界面的的制作过程。
过程分析:上篇我们使用的是c语言编写的客户端程序,有人会说,QT是一个基于c++语言的开发工具
如何实现在QT中引用已经实现的客户端程序呢?难道是将程序全部加载到指定的QT项目中?
分析如下:
首先我们都知道QT是基于c++的一门开发工具,c++呢本质又是和c一脉相承。所以在c++中 使用c原理上是可以实现的,其实很多很开始有误区,将c程序全部加载到指定的QT项目中。大家可以试想一下,大规模的函数如何加载,这会极大的增加函数的风险,减少函数的容错性。所以c++(QT) 中特意使用了一个进程创建用于调用已经完成的c函数的可执行程序。通过操作c可执行程序完成c与c++ 的完美结合,从而增加函数的封装性,提高函数的容错性。具体执行如下:
QProcess *process=new QProcess();
if(i==false){
ui->pushButton->setText("链接");
i=true;
qDebug()<<"开始链接";
process->start("./post",str);
/*post就是用c编写的socket程序,str指的是将QT界面输入
的数据加载到可执行程序后面*/
process->waitForStarted();
process->waitForFinished();
QByteArray qb=process->readAll();
QString str22(qb);
ui->listWidget->addItem(str22);
接下来向大家介绍一下常用QT界面的背景添加以及美化:
void surfDialog::paintEvent(QPaintEvent *){
//加载图片
QPixmap pixmap = QPixmap(":/tutu/mm.jpg").scaled(this->size());
QPainter painter(this);
painter.drawPixmap(this->rect(), pixmap);
//字体颜色设置
QPalette pa;
pa.setColor(QPalette::WindowText,Qt::white);
ui->label->setPalette(pa);
ui->label_2->setPalette(pa);
//字体大小设置
QFont ft;
ft.setPointSize(12);
ui->label->setFont(ft);
ui->label_2->setFont(ft);
}
最后
以上就是成就百褶裙为你收集整理的使用QT界面进行onetnet数据上传与下载的全部内容,希望文章能够帮你解决使用QT界面进行onetnet数据上传与下载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复