在Qt中,你可以使用图形库(如QGraphicsView、QGraphicsScene)来绘制系统拓扑图。以下是一个简单的示例代码,展示如何按照设置的设备数量画系统拓扑图:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建场景和视图
QGraphicsScene scene;
QGraphicsView view(&scene);
view.setWindowTitle("System Topology");
// 设置设备数量
int deviceCount = 5;
// 计算每个设备的位置间隔
qreal interval = 100;
// 绘制设备节点
for (int i = 0; i < deviceCount; ++i) {
QGraphicsRectItem *deviceNode = scene.addRect(0, 0, 50, 50); // 设备节点矩形
deviceNode->setPos(i * interval, 0); // 设置节点位置
QGraphicsTextItem *deviceLabel = scene.addText(QString("Device %1").arg(i)); // 设备标签
deviceLabel->setPos(i * interval + 10, -20); // 设置标签位置
if (i > 0) {
// 连接设备节点
QGraphicsLineItem *line = scene.addLine((i - 1) * interval + 25, -25,
i * interval + 25, -25);
}
}
view.resize(800, 600);
view.show();
return app.exec();
}
这段代码创建了一个场景,并在其中绘制了指定数量的设备节点和连接线。你可以根据实际需求对节点和连接线进行定制和美化。运行代码后,会显示一个带有设备拓扑图的窗口。
内容由零声教学AI助手提供,问题来源于学员提问




