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