源**mainwindow.h
#ifndef
mainwindow_h
#definemainwindow_h
#include
#include
#include
#include"mythread.h"
namespaceui
classmainwindow
:public
qmainwindow
;
#endifmainwindow.cpp//mainwindow_h
#include
#include
#include
#include
#include
#include
#include
#defineuart_tx_len
64
intpb_open_com_flag;
//串列埠標誌位
charsend_buf[
uart_tx_len
];
char*clear_uart_string
(void
)
//建構函式
mainwindow::mainwindow
(qwidget
*parent
):
qmainwindow(parent
),
ui(newui
::mainwindow
)
;
//傳送資料
voidmainwindow
::send_uart_string
(char
*p_tx
)else
}
mainwindow::~mainwindow
()
//設定使能
voidmainwindow
::on_pb_open_com_clicked
()
elseelse
}
}
//接受顯示資料
voidmainwindow
::displayrxdata
()
//儲存檔案
voidmainwindow
::on_pb_file_position_slot
()
else
}else
}
//清空傳送資料
voidmainwindow
::on_pb_clear_send_data_clicked
()
//清空接收資料
voidmainwindow
::on_pb_clear_request_data_clicked
()
voidmythread.hmainwindow
::on_pushbutton_clicked
()
#ifndef
mythread_h
#definemythread_h
#include
#include
#include
//接受資料的執行緒
classmythread
:public
qthread
;
#endifmythread.cpp//mythread_h
#include
"mythread.h"
mythread::mythread
(qserialport
*mycom
)
voidmythread
::run
()
this->
msleep
(500
);
}
}main.cpp
#include
"mainwindow.h"
#include
#include
#include
int實際執行結果main
(int
argc
,char
*argv
)
可用串列埠除錯助手 或者 開啟2個程式互發
————————完—————————
QT5串列埠通訊
在qt5之前,要實現串列埠通訊,需要借助第三方串列埠封裝 qt5已經自帶了類來完成這項工作。如下 1.在pro檔案中新增 qt serialport 引入標頭檔案 include qtserialport qserialport include qtserialport qserialportinf...
QT5 窗體間通訊
a.h 定義訊號 pragma once include 只有繼承了public qobject類的類,才具有訊號槽的能力。傳送者和接收者都需要是qobject的子類 凡是qobject類 不管是直接子類還是間接子類 都應該在第一行 寫上q object classa public qobject ...
QT5串列埠編寫
首先,qt5是自帶qserialport這個類的,使用時需要在pro檔案裡面新增一行 qt serialport 然後直接引用標頭檔案就可以使用了。include includeqserialport 提供訪問串列埠的功能 qserialportinfo 提供系統中存在的串列埠的資訊 接下來需要建立...