您的位置:首页 > 编程语言 > Qt开发

使用QT界面进行onetnet数据上传与下载

2017-10-10 20:29 459 查看
上篇已经讲述了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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket qt 界面