记录解决QT环境变量、qwt环境搭建、cannot load QT5core.dll错误、TreeWidget与TabWidget联动及些许EXCEL问题

一、配置QT环境变量:

依次打开:设置->系统->关于->高级系统设置->环境变量->系统变量(s)->Path->编辑,将QT安装目录中以下文件路径复制粘贴至Path中:
D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\bin
D:\BaiDuWangPan\SoftWare\QT_551\Tools\mingw492_32\bin

相关解决方法可借鉴网址如下:https://blog.csdn.net/chexlong/article/details/53333647

二、搭建qwt使用环境

①将已有的qwt-6.1.4复制到Qt安装目录:\BaiDuWangPan\SoftWare\QT_551中。

②进入到qwt-6.1.4文件夹双击打开其中的qwt.pro,双击后该文件自行使用Qt打开。

③界面切换到Qt界面,打开qwt->designer->qwtbuild的qwtbuild.pri,将其中的‘CONFIG += debug_and_release’代码添加"#"进行注释,修改后为‘#CONFIG += debug_and_release’,然后点击运行按钮进行build,此过程约等待十几分钟。

④Build完成后到Qt安装目录D:\BaiDuWangPan\SoftWare\QT_551,可以看到编译生成的一个文件夹:‘build-qwt-Desktop_Qt_5_5_1_MinWG_32bit-Debug’,进入该文件夹中,依次进入designer->plugins->designer,将其中qwt_designer_plugin.dll文件复制到Qt以下目录D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\plugins\designer里。

⑤进入D:\BaiDuWangPan\SoftWare\QT_551\build-qwt-Desktop_Qt_5_5_1_MinWG_32bit-Debug\lib目录中,有4个文件,将qwt.dll、qwtd.dll文件复制到D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\bin,将libqwt.a、libqwtd.a文件复制到D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\lib。

⑥最后于D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\include新建一个文件夹,命名为qwt,进入qwt-6.1.4的src文件夹D:\BaiDuWangPan\SoftWare\QT_551\qwt-6.1.4\src,将里面的所有文件复制到刚刚新建的qwt文件夹里D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\include\qwt。

⑦新建个工程,在.pro文件中添加:
LIBS += -L “D:/BaiDuWangPan/SoftWare/QT_551/5.5/mingw492_32/lib” -lqwt
INCLUDEPATH += D:/BaiDuWangPan/SoftWare/QT_551/5.5/mingw492_32/include/QWT
include (D:/BaiDuWangPan/SoftWare/QT_551/qtctrl/qwt-6.1.2/qwt.prf)
即可使用qwt了。
相关解决方法可借鉴网址如下:
https://blog.csdn.net/imkelt/article/details/51234230

三、解决项目在其余电脑显示cannot load QT5core.dll错误

①从build-Desktop_Qt_5_5_1_MinGW_32bit-Release\release中找到plot.exe。

②于其他地方建立空文件夹,例如D盘建立kongTest1,将plot.exe拷贝进去。

③搜索Qt 5.5 for Desktop(MinGW 4.9.2 32bit),点击打开,跳转至.exe所在位置,输入cd /d D:/kongTest1。

④再输入windeployqt plot.exe,等待执行完成。

⑤使用Enigma Virtual Box,封包主程选择D:\kongTest1\plot.exe,将kongTest1文件夹拖入virtual box files中,选择“文件选项”勾选压缩文件,然后点击执行封包,打开plot_boxed.exe运行即可。

但在此有cannot load library qwt.dll、找不到QtOpenGL.dll错误。
相关解决方法可借鉴网址如下:
https://blog.csdn.net/xiao_jj_jj/article/details/96826664?utm_source=app
⑥解决方法如下:进入D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\bin文件夹,将QtOpenGL.dll和qwt.dll拷贝至D:\kongTest1文件夹中,而后使用Enigma Virtual Box封包,封包后的plot_boxed.exe可以在其余电脑使用打包。

⑦将plot_boxed.exe所处文件夹总体发予他人时,文件夹除了plot_boxed.exe还必包含的文件有如下图1和2所示。
图一

图二

四、TreeWidget与TabWidget联动

1. 布局

在mainwindow.ui中,拖动TreeWidget至布局中,设置‘sizePolicy’属性为[Fixed,Expanding,0,0],设置‘maximumSize’属性为500*16777215。

2. TabWidget添加页面代码如下:

	ui->tabWidget->insertTab(0, &port, "端口");
    ui->tabWidget->insertTab(1, &Format, "格式");
    ui->tabWidget->insertTab(2, &plot, "图标");
    ui->tabWidget->insertTab(3, &command, "指令");
    ui->tabWidget->insertTab(4, &record, "记录");
	ui->tabWidget->insertTab(5, &text, "文本");

3. TreeWidget添加节点代码如下:

	ui->treeWidget->clear();
    ui->treeWidget->setColumnCount(1);
    ui->treeWidget->setHeaderHidden(true);
    ui->tabWidget->tabBar()->hide();

    // 增加线条
    ui->treeWidget->setStyle(QStyleFactory::create("windows"));
    // ----------------------------------------------------------
    // 创建 [系统设置] 父节点
    QTreeWidgetItem *system_setup = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("设置")));
    //        system_setup->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsAutoTristate);
      system_setup->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
      // 给父节点添加子节点
      QTreeWidgetItem *system_setup_child_node_1 = new QTreeWidgetItem(system_setup);
      system_setup_child_node_1->setText(0,"端口");
      QTreeWidgetItem *system_setup_child_node_2 = new QTreeWidgetItem(system_setup);
      system_setup_child_node_2->setText(0,"格式");
      QTreeWidgetItem *system_setup_child_node_3 = new QTreeWidgetItem(system_setup);
      system_setup_child_node_3->setText(0,"指令");

    // ----------------------------------------------------------
      // 创建 [页面布局] 父节点
      QTreeWidgetItem *page_layout = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("显示")));
      page_layout->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
      QTreeWidgetItem *page_layout_clild_1 = new QTreeWidgetItem(page_layout);
      page_layout_clild_1->setText(0,"图标");
      QTreeWidgetItem *page_layout_clild_2 = new QTreeWidgetItem(page_layout);
      page_layout_clild_2->setText(0,"存录");
      QTreeWidgetItem *page_layout_clild_3 = new QTreeWidgetItem(page_layout);
      page_layout_clild_3->setText(0,"文本");
      QTreeWidgetItem *page_layout_clild_4 = new QTreeWidgetItem(page_layout);
      page_layout_clild_4->setText(0,"记录");
      // ----------------------------------------------------------
          // 创建 [页面布局] 父节点
      QTreeWidgetItem *SnapshotShow = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图形")));
      page_layout->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
      QTreeWidgetItem *SnapshotShow_clild_1 = new QTreeWidgetItem(SnapshotShow);
      SnapshotShow_clild_1->setText(0,"查看图像");
      ui->treeWidget->expandAll();

	  connect(ui->treeWidget,SIGNAL(itemClicked(QTreeWidgetItem*, int)),this,SLOT(on_treeWidget_clicked(QTreeWidgetItem *, int)));

4. 点击节点响应,TreeWidget添加槽函数:

void MainWindow::on_treeWidget_clicked(QTreeWidgetItem *item, int column)
{
    QString str = item->text(column);
    if(str == "端口")
    {
        ui->tabWidget->setCurrentIndex(0);
    }
    if(str == "格式")
    {
        ui->tabWidget->setCurrentIndex(1);
    }
    if(str == "指令")
    {
        ui->tabWidget->setCurrentIndex(3);
    }
    if(str == "图标")
    {
        ui->tabWidget->setCurrentIndex(2);
    }
    if(str == "存录")
    {
        ui->tabWidget->setCurrentIndex(4);
    }
    if(str == "文本")
    {
        ui->tabWidget->setCurrentIndex(5);
    }
    if(str == "记录")
    {
        ui->tabWidget->setCurrentIndex(6);
    }
}

相关解决方法可借鉴网址如下:
https://www.cnblogs.com/Romi/archive/2012/04/16/2452709.html

五、EXCEL表格相关问题

1. 分列

保存文件为.xls格式时,分列步骤为:数据->分列->分隔符号->下一步->逗号->下一步->常规->完成,能够存储1048576行×16384列数据。
保存文件为.csv逗号分隔值文件格式时,存录数据无需上述分列操作。
(xlsb是Excel的二进制文本格式,与之前的格式相比,表格体积更小,打开速度更快,同时可以保存宏代码)

2. 时间戳转换

①毫秒(ms)13位时间戳转时间公式为:
=TEXT((A2/1000+83600)/86400+70365+19,“yyyy/mm/dd hh:mm:ss.000”)
②秒(s)10位时间戳转时间:
=TEXT((A2+83600)/86400+70365+19,“yyyy/mm/dd hh:mm:ss”)
①时间转10位时间戳:
= INT((A2-70*365-19)86400-83600)
相关解决方法可借鉴网址如下:
https://zhuanlan.zhihu.com/p/397973144

3. 整列使用一个公式

EXCEL如何对整列使用一个公式,不用往下拉的方式,因为有极多个数要计算,操作方法如下:
在第一个单元格里面写好公式确定,用鼠标点击第一个单元格,然后拉滚动条到最后一行,按住shift键,点击最后一个要填充公式的单元格,此时所有需要使用公式的单元格均被选中,再同时按下“Ctrl + D”键,则所有单元格自动填充公式。

4. 科学记数法转为普通数值显示

科学记数法转为普通数值显示操作方法如下:
方法一:在空单元格中输入公式=TRIM(A2)并按回车键,得到我们的第一个结果
方法二:选择数值,单击右键,选择格式化单元格,在弹出的窗口中,点击“自定义”,在“类型(T):”文本框内输入“0”,然后点击“确定”。

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值