From 916c23a1ecc2548f7fbcbc069f3e570f65e32efd Mon Sep 17 00:00:00 2001 From: zcy <290198252@qq.com> Date: Sun, 29 Aug 2021 23:50:41 +0800 Subject: [PATCH] no message --- protoDebuger/CMakeLists.txt | 5 +---- protoDebuger/NetSelect.qml | 33 +++++++++++++++++++++-------- protoDebuger/main.cpp | 4 +++- protoDebuger/mainwindow.cpp | 8 ++++++- protoDebuger/network_controller.cpp | 16 ++++++++++++-- protoDebuger/network_controller.h | 6 +++++- protoDebuger/sharedata.cpp | 18 +++++++++++----- protoDebuger/sharedata.h | 6 ++++++ 8 files changed, 73 insertions(+), 23 deletions(-) diff --git a/protoDebuger/CMakeLists.txt b/protoDebuger/CMakeLists.txt index ede0d21..825c538 100644 --- a/protoDebuger/CMakeLists.txt +++ b/protoDebuger/CMakeLists.txt @@ -64,11 +64,8 @@ set (UIS set(Resourcestylte "${CMAKE_CURRENT_LIST_DIR}/qss.qrc") list(APPEND RESOURCES ${Resourcestylte}) -<<<<<<< .merge_file_a04720 include(D:\\project\\c++qt\\qsswraper\\CMakeLists.txt) -======= -include(D:\\project\\qt\\qsswraper\\CMakeLists.txt) ->>>>>>> .merge_file_a09540 + QT5_WRAP_CPP(MOC ${SOURCES} ) # moc预编译代码 QT5_WRAP_CPP(MOCHEADER ${HEADERS} ) # moc预编译代码 diff --git a/protoDebuger/NetSelect.qml b/protoDebuger/NetSelect.qml index aa04426..9e093e3 100644 --- a/protoDebuger/NetSelect.qml +++ b/protoDebuger/NetSelect.qml @@ -4,13 +4,15 @@ import QtQuick.Layouts 1.0 import QtQml 2.3 -Item { - id: element +Item { + objectName: "NetSelect" width: 800 height: 600 visible: true + + ColorAnimation { from: "white" to: "black" @@ -24,6 +26,7 @@ Item { anchors.fill: parent scale: 1 transformOrigin: Item.Center + Column { anchors.fill: parent spacing: 6 @@ -190,13 +193,10 @@ Item { Number(port.text), radioSelectWebsocket.checked, type_network) - if(ret != 0){ - tip.fail("网络连接失败") - return - } - tip.success("网络连接成功") - button_network.text = "关闭网络" - }else + + button_network.text = "正在连接" + + }else (button_network.text == "关闭连接") { DataWrap.closeNetwork(); button_network.text = "打开网络" @@ -239,4 +239,19 @@ Item { } } } + + Connections { + target: DataWrap + onSendToQml: { + button_network.text = "关闭连接" + tip.success("网络连接成功") + } + } + Connections { + target: DataWrap + onDisConnected: { + button_network.text = "打开连接" + tip.success("网络连接失败") + } + } } diff --git a/protoDebuger/main.cpp b/protoDebuger/main.cpp index 5adcf14..369facf 100644 --- a/protoDebuger/main.cpp +++ b/protoDebuger/main.cpp @@ -21,7 +21,9 @@ int main(int argc, char *argv[]) AllocConsole(); freopen("CONOUT$","w",stdout); - QApplication app(argc, argv); + QApplication app(argc, argv); + QQmlApplicationEngine engine; + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); printf("hello world"); diff --git a/protoDebuger/mainwindow.cpp b/protoDebuger/mainwindow.cpp index b575e03..15d3d73 100644 --- a/protoDebuger/mainwindow.cpp +++ b/protoDebuger/mainwindow.cpp @@ -7,6 +7,7 @@ #include #include "sharedata.h" #include +#include QmlShareData gGlobal; @@ -17,10 +18,15 @@ MainWindow::MainWindow(QWidget *parent) : { ui->setupUi(this); QQuickWidget *m_quickWidget=new QQuickWidget(); + QQmlEngine *engine = m_quickWidget->engine(); + + QQmlContext* ctx = engine->rootContext(); + ctx->setContextProperty("DataWrap", &gGlobal); QUrl source("qrc:/main.qml"); m_quickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView ); m_quickWidget->setSource(source); - m_quickWidget->rootContext()->setContextProperty("DataWrap",&gGlobal); + +// m_quickWidget->rootContext()->setContextProperty("DataWrap",&gGlobal); this->setStyleSheet("margin: 0px;"); gGlobal.SetQuickView(m_quickWidget); ui->centralwidget->layout()->addWidget(m_quickWidget); diff --git a/protoDebuger/network_controller.cpp b/protoDebuger/network_controller.cpp index bbd48cb..f11a635 100644 --- a/protoDebuger/network_controller.cpp +++ b/protoDebuger/network_controller.cpp @@ -26,9 +26,13 @@ NetworkController::NetworkController(NetworkController::NetworkType type, QObject::connect(mTcp, SIGNAL(connected()), this, SLOT(on_conected())); QObject::connect(mTcp, SIGNAL(readyRead()), this, SLOT(on_ready_read())); QObject::connect(mTcp, SIGNAL(disconnected()), this, SLOT(on_disconect())); + QObject::connect(mTcp, SIGNAL(stateChanged(QAbstractSocket::SocketState)), + this, SLOT(tcpsock_stateChanged(QAbstractSocket::SocketState))); + mTcp->connectToHost(ip,port,QIODevice::ReadWrite,QAbstractSocket::IPv4Protocol); qDebug()<state(); + if(mTcp->state() == QAbstractSocket::ConnectedState) mState = true; } @@ -112,7 +116,6 @@ int NetworkController::Close() return 0; } - NetworkController::~NetworkController() { if(mState){ @@ -125,9 +128,9 @@ NetworkController::~NetworkController() if(mUDP != nullptr) delete mUDP; } - } + bool NetworkController::State() { return this->mState; @@ -137,6 +140,15 @@ void NetworkController::on_conected() { qDebug()<<"connected"; mState = true; + emit(on_connected()); +} + +void NetworkController::tcpsock_stateChanged(QAbstractSocket::SocketState state) +{ + qDebug()<State()) - return 0; - else{ - return -1; - } + return 0; } if((type == NetworkController::TYPE_UDP_CLIENT) || (type == NetworkController::TYPE_UDP_SERVER)){ @@ -190,4 +188,14 @@ void QmlShareData::on_network_data_recv(){ } } +void QmlShareData::on_network_conected() +{ + emit(sendToQml(11)); +} + +void QmlShareData::on_network_disconected() +{ + emit(disConnected()); +} + diff --git a/protoDebuger/sharedata.h b/protoDebuger/sharedata.h index d88a819..975433f 100644 --- a/protoDebuger/sharedata.h +++ b/protoDebuger/sharedata.h @@ -53,8 +53,14 @@ public: signals: void txtchanged(); void valueFromCpp(int val); + void sendToQml(int count); + void disConnected(); + public slots: void on_network_data_recv(); + void on_network_conected(); + void on_network_disconected(); + private: NetworkController *m_network_; SerialController *m_serial_controller_;