qt怎么往脚本里面发数据
❶ 请问在QT里编写c++程序如何输入数据呀
QT需要定义QApplication对象的,框架不一样,你这样直接执行还是相当于在控制台下执行。
❷ Qt4与shell脚本交互
使用qprocess.
Process = new QProcess();
connect(pppProcess, SIGNAL(readyRead()), this, SLOT(read()));
connect(pppProcess, SIGNAL(finished(int)), this, SLOT(finished()));
pppProcess->start(tr("shell cmd"));
在read函数中
str += Process->readAll();
在finished函数中显示str
❸ 如何用Qt连接数据库并导入文件
可以使用QT自带的数据库完成操作,以下是参考代码:
QsqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
❹ QT中如何实现界面之间传递数据
之所以没有答案,不是这个难,而是很简单。
直接从 小对话框里面读数据就完事了。
刚写的例子:
//////////////////////dialog.cpp
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->lineEditPassword->setEchoMode(QLineEdit::Password);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButtonLogin_clicked()
{
//获取数据
m_strUser = ui->lineEditUser->text();
m_strPassword = ui->lineEditPassword->text();
//校验数据
if(m_strUser.isEmpty() || m_strPassword.isEmpty())
{
QMessageBox::information(this, QString(tr("Tips"))
,QString(tr("User name or Password is empty!")));
//等待下次按钮
}
else
{
//正确的用户名和密码
this->accept();
}
}
void Dialog::on_pushButtonQuit_clicked()
{
this->reject();
}
////////////////////////////////mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//
ui->setupUi(this);
//
Dialog* pDlgLogin = new Dialog(NULL);
//以模式对话框显示
int nResult = pDlgLogin->exec();
if(nResult != QDialog::Accepted)
{
//登录错误,退出
exit(1);
}
//正常登录
//读取用户名和密码
m_strUser = pDlgLogin->m_strUser;
m_Password = pDlgLogin->m_strPassword;
//设置标签为用户名
ui->labelUserName->setText(m_strUser);
//绑定退出信号到关闭槽函数
connect(ui->action_Quit, SIGNAL(triggered()), this, SLOT(close()));
//将主窗口移到指定位置
this->move(QPoint(0,0));
//
}
MainWindow::~MainWindow()
{
delete ui;
}
❺ 关于QT编程TCP通讯 用write传输数据的问题
个人认为可能是qPrintable转换后的数据为const指针吧,建议直接用
toLocal8Bit 试试吧 我觉得是参数强制转换的问题 很乐意和你一起探讨这个问题
❻ 如何用QT实现本地数据库上传到服务器
你本地的数据库是在运行的吧,这个就最方便的。 你直接在本地打开 SQL Server Management Studio (mssql客户端)同时连接本地及远程数据库。 选择本地要同步的数据库,任务--导出数据。。。然后直接就导入了远程的数据库了。 当然也可以生成sql脚本,然后再执行都 行。
❼ qt中用tcp发送Qtablewidget中的数据
其实这很简单啊,你只要定义一个合理的数据结构就可以了。
你可以定义类似下面这样一个XML,用于数据发送:
<?xml version="1.0" encoding="UTF-8" ?>
<menu custom_id="用户的id" date="什么时候定的" total="总价(其实这个服务器也能算出来)">
<item id="数据库中某菜单的id" name="如果有id的话,这个就不需要了" price="和name一个道理" count="用户点了多少" info="其他信息或要求" />
<item id="" name="" price="" count="" info="" />
<item id="" name="" price="" count="" info="" />
</menu>
在客户端,你把数据拼装成这种XML的字符串,然后在用TCP呀HTTP什么的发送给服务端,
服务端只要解析一下这个XML就可以了。
当然,你也可以使用更合理更好用的数据结构,我这里只是举个例子。
❽ qt在如何循环50ms让串口发送数据
一. 完善数据接收功能
主要有以下几点需要完善:
需要接收中文
打开串口的pushbotton,点击打开后需要改为关闭串口功能
1. 完善接收中文功能
这一块我在帮助手册上是找不到解决办法,只能在网上看有没有解决办法了, 参考了网上这位博主的https://blog.csdn.net/ouening/article/details/89469468,接收函数修改为
/*显示串口数据函数*/
void MainWindow::displayData()
{
QByteArray rx_data;
rx_data = this->serialPortUsing.readAll();
QString str = QString::fromLocal8Bit(rx_data);
qDebug() << str;
rx_data.clear();
}
就可以愉快的显示中文了
2. 完善打开串口和关闭串口功能
做这个功能的思路是先定义一个bool类型的打开与否标志位,点击了打开串口就把这个标志位翻转,再次点击时 在槽函数里面判断这个标志位,做相应的打开或者关闭操作。
mainwindow.cpp代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include <QComboBox>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
/*显示波特率*/
this->BaudList << "9600" << "19200" <<"115200";
ui->baudComboBox->addItems(this->BaudLis