exeDir = QCoreApplication::applicationDirPath(); QSettings *settings = new QSettings (exeDir + "/fake.dll", QSettings::IniFormat); frameRate = settings->value("frameRate").toInt(); mesConfigIni = new QSettings(exeDir + "/mes.ini", QSettings::IniFormat); serialConfigIni = new QSettings(exeDir + "/serial.ini", QSettings::IniFormat); qDebug("frameRate = %d", frameRate); ui->setupUi(this); // this->setFixedWidth(this->width()); font.setPixelSize(13); QLabel *productLabel = new QLabel("产品选择: "); productBox.addItem(" "); productBox.addItem("D55"); productBox.addItem("DC1E"); connect(&commandTimer, SIGNAL(timeout()), this, SLOT(commandProcess())); connect(&openSerialButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(openButton_clicked(int))); connect(&ageButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(start_aging(int))); commandTimer.start(20); palette.setColor(QPalette::Window, Qt::white); ui->scrollAreaWidgetContents->setPalette(palette); ui->boardCountLineEdit->hide(); ui->setBoardCountButton->hide(); ui->horizontalLayout->addWidget(productLabel); ui->horizontalLayout->addWidget(&productBox); initBoards(18); ui->lineLineEdit->setText(mesConfigIni->value("Line").toString()); ui->lotNumberLineEdit->setText(mesConfigIni->value("lotNumber").toString()); ui->empidLineEdit->setText(mesConfigIni->value("empid").toString()); ui->partspecLineEdit->setText(mesConfigIni->value("partspec").toString()); qDebug()<<"界面初始化成功!";

时间: 2024-04-27 11:25:32 浏览: 11
这段代码是一个Qt界面的初始化代码,它做了以下几件事情: 1. 获取应用程序运行的目录exeDir,用于后续读取配置文件; 2. 读取fake.dll配置文件中的frameRate值,用于后续处理; 3. 分别读取mes.ini和serial.ini配置文件,用于后续处理; 4. 设置界面的背景颜色为白色; 5. 将产品选择控件productBox添加三个选项; 6. 连接定时器commandTimer的timeout信号、openSerialButtonGroup的buttonClicked信号、ageButtonGroup的buttonClicked信号到相应的槽函数; 7. 初始化18块板子; 8. 从mes.ini配置文件中读取Line、lotNumber、empid、partspec等信息,并将其分别赋值给相应的控件; 9. 输出成功的初始化信息。
相关问题

QDir dir(exeDir + "/mesUpload"); if(!dir.exists()) { dir.mkdir(dir.path()); }

这段代码使用了 Qt 库中的 QDir 类,它表示一个文件系统目录路径。首先,根据输入的 exeDir 字符串和 "/mesUpload" 目录名构造一个 QDir 对象 dir。然后,使用 QDir 的 exists() 函数判断该目录是否存在,若不存在,则使用 mkdir() 函数创建该目录。这段代码的作用是确保 mesUpload 目录存在,以便后续将测试结果保存到该目录下的 mesUpload.json 文件中。

运用QT将选择一个文件复制到QT的exe文件所在的文件夹下

你可以使用QFileDialog来选择要复制的文件,然后使用QCoreApplication::applicationDirPath()来获取应用程序所在的文件夹路径,最后使用QFile::copy()来复制文件到该文件夹下。以下是示例代码: ```cpp #include <QApplication> #include <QFileDialog> #include <QFileInfo> #include <QMessageBox> #include <QFile> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 选择要复制的文件 QString filePath = QFileDialog::getOpenFileName(nullptr, "选择要复制的文件", "", "所有文件(*.*)"); if (filePath.isEmpty()) { return 0; } // 获取应用程序所在的文件夹路径 QString exeDir = QCoreApplication::applicationDirPath(); // 构造目标文件路径 QFileInfo fileInfo(filePath); QString destFilePath = exeDir + "/" + fileInfo.fileName(); // 复制文件 if (QFile::copy(filePath, destFilePath)) { QMessageBox::information(nullptr, "提示", "文件复制成功!"); } else { QMessageBox::warning(nullptr, "警告", "文件复制失败!"); } return 0; } ``` 注意:如果要复制的文件已经存在于目标文件夹下,则会覆盖原有文件。如果你需要保留原有文件,请在复制前先判断目标文件是否已存在。

相关推荐

QJsonObject jsonObject; QJsonObject cameraQCVoListObject; QJsonArray cameraQCVoList; QJsonArray testItemList; QJsonDocument jsonDocument; QJsonObject testSubItem; QJsonArray testSubItemList; QDir dir(exeDir + "/mesUpload"); if(!dir.exists()) { dir.mkdir(dir.path()); } cameraQCVoListObject["barcode"] = ui->barcodeLineEdit->text(); cameraQCVoListObject["supplierName"] = "丘钛"; cameraQCVoListObject["opcode"] = "NTC测试"; cameraQCVoListObject["result"] = result; cameraQCVoListObject["factoryName"] = "昆山工厂"; cameraQCVoListObject["line"] = settingWindow->configIniSettings->value("/MES/Line").toString(); cameraQCVoListObject["deviceid"] = "001"; cameraQCVoListObject["empid"] = settingWindow->configIniSettings->value("/MES/empid").toString(); cameraQCVoListObject["equipmentNumber"] = "001"; cameraQCVoListObject["testStation"] = "NTC测试"; cameraQCVoListObject["testType"] = "后段测试"; cameraQCVoListObject["lotNumber"] = settingWindow->configIniSettings->value("/MES/lotNumber").toString(); cameraQCVoListObject["programVersion"] = "20230608"; cameraQCVoListObject["partNumber"] = settingWindow->configIniSettings->value("/MES/partNumber").toString(); QString configIniString = settingWindow->configIniSettings->value("/MES/lotNumber").toString(); cameraQCVoListObject["wo"] = configIniString.mid(0, configIniString.length() - 3); cameraQCVoListObject["partspec"] = settingWindow->configIniSettings->value("/MES/partspec").toString(); cameraQCVoListObject["ip"] = getHostIpAddress(); cameraQCVoListObject["mac"] = getHostMacAddress(); testSubItemList.append(testItem(settingWindow->configIniSettings->value("/Power/" + getModelName() + "/ntcResistUpperLimit").toString(), settingWindow->configIniSettings->value("/Power/" + getModelName() + "/ntcResistLowerLimit").toString(), QString::asprintf("%f", ntc_value), "ntc_value")); testSubItem["testSubItem"] = testSubItemList; testSubItem["testItemName"] = "功耗"; testItemList.append(testSubItem); cameraQCVoListObject["testItemList"] = testItemList; cameraQCVoList.append(cameraQCVoListObject); jsonObject["dataType"] = "cameraQCVoList"; jsonObject["appKey"] = "fe903ca34c4f6ac12bdfd3bb4000cdde"; jsonObject["cameraQCVoList"] = cameraQCVoList; jsonDocument.setObject(jsonObject); QFile myfile(dir.path() + "/mesUpload.json"); myfile.open(QIODevice::WriteOnly|QIODevice::Text); myfile.write(jsonDocument.toJson()); myfile.close();

最新推荐

recommend-type

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a
recommend-type

matlab建立计算力学课程的笔记和文件.zip

matlab建立计算力学课程的笔记和文件.zip
recommend-type

FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写
recommend-type

matlab基于RRT和人工势场法混合算法的路径规划.zip

matlab基于RRT和人工势场法混合算法的路径规划.zip
recommend-type

matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。