|
@@ -1,6 +1,7 @@
|
|
|
#include "viewserial.h"
|
|
#include "viewserial.h"
|
|
|
#include "ui_viewserial.h"
|
|
#include "ui_viewserial.h"
|
|
|
#include "ui_serialtree.h"
|
|
#include "ui_serialtree.h"
|
|
|
|
|
+#include <QDebug>
|
|
|
|
|
|
|
|
|
|
|
|
|
ViewSerial::ViewSerial(QWidget *parent)
|
|
ViewSerial::ViewSerial(QWidget *parent)
|
|
@@ -21,10 +22,9 @@ ViewSerial::ViewSerial(QWidget *parent)
|
|
|
|
|
|
|
|
// 创建树形视图部件
|
|
// 创建树形视图部件
|
|
|
QWidget* treeWidget = new QWidget();
|
|
QWidget* treeWidget = new QWidget();
|
|
|
- QVBoxLayout *layout_tree = new QVBoxLayout(treeWidget);
|
|
|
|
|
- layout_tree->setContentsMargins(0, 0, 0, 0); // 移除边距
|
|
|
|
|
-
|
|
|
|
|
ui_tree->setupUi(treeWidget);
|
|
ui_tree->setupUi(treeWidget);
|
|
|
|
|
+ // 设置大小策略,让dock widget可以调整大小并铺满可用空间
|
|
|
|
|
+ treeWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
|
|
// 将UI添加到停靠管理器
|
|
// 将UI添加到停靠管理器
|
|
|
this->addDockWidget(mainWidget, "主视图", ads::CenterDockWidgetArea);
|
|
this->addDockWidget(mainWidget, "主视图", ads::CenterDockWidgetArea);
|
|
|
this->addDockWidget(treeWidget, "设备树", ads::LeftDockWidgetArea);
|
|
this->addDockWidget(treeWidget, "设备树", ads::LeftDockWidgetArea);
|
|
@@ -35,9 +35,11 @@ ViewSerial::ViewSerial(QWidget *parent)
|
|
|
|
|
|
|
|
// 创建UI
|
|
// 创建UI
|
|
|
createUI();
|
|
createUI();
|
|
|
- m_serialManager->startDiscovery();
|
|
|
|
|
- // 创建连接
|
|
|
|
|
|
|
+ // 先创建连接,再启动发现(这样信号才能被正确捕获)
|
|
|
createConnections();
|
|
createConnections();
|
|
|
|
|
+ m_serialManager->startDiscovery();
|
|
|
|
|
+ // 立即更新一次设备列表
|
|
|
|
|
+ updateDeviceList();
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -151,11 +153,15 @@ void ViewSerial::updateDeviceList()
|
|
|
m_deviceModel->clear();
|
|
m_deviceModel->clear();
|
|
|
|
|
|
|
|
// 添加串口设备
|
|
// 添加串口设备
|
|
|
- foreach (const QString &portName, m_serialManager->getAvailablePorts())
|
|
|
|
|
|
|
+ QStringList availablePorts = m_serialManager->getAvailablePorts();
|
|
|
|
|
+ qDebug() << "更新设备列表,找到" << availablePorts.size() << "个串口设备";
|
|
|
|
|
+
|
|
|
|
|
+ foreach (const QString &portName, availablePorts)
|
|
|
{
|
|
{
|
|
|
QStandardItem *item = new QStandardItem("串口: " + portName);
|
|
QStandardItem *item = new QStandardItem("串口: " + portName);
|
|
|
item->setData(portName, Qt::UserRole);
|
|
item->setData(portName, Qt::UserRole);
|
|
|
m_deviceModel->appendRow(item);
|
|
m_deviceModel->appendRow(item);
|
|
|
|
|
+ qDebug() << "添加设备到列表:" << portName;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 添加其他类型设备(CAN、以太网等)
|
|
// 添加其他类型设备(CAN、以太网等)
|