* @brief MainWindow::on_pushButton_save_clicked \n 3 * 保存结果文件 MainWindow::on_pushButton_save_clicked() 6 { , ); 8 if (file_name.isEmpty()) { , , QMessageBox::Ok); 10 return; 11 } 12 std::ofstream os(file_name.toStdString()); 13 for (int idx = 0; idx < static_cast<int>(this->annotation_list.size()); ++ idx) { << ; 15 } 16 os.close(); , , QMessageBox::Ok); 18 }
六、添加资源由于我们的程序是需要publish出去的,因此图片文件等资源,必须包含在程序中。那么Qt怎么添加文件资源呢?
在项目视图下,右键项目->添加新文件->Qt->Qt Resource File。就可以创建一个qrc文件了。
我这里给这个文件取名为image。
之后,建议在项目的根目录里面新建一个文件夹,用来存放资源。小喵的结构是这个样子的:
小喵的项目根目录新建了一个文件夹images,并将图像素材放入了这个文件夹。
之后回到QT,我们刚建好的image.qrc文件->Open in Editor。
先添加前缀,这里写上/File。之后点击新建的/File目录,再点击添加->添加文件,选择我们的素材文件。最终的效果图如下:
之后,我们就可以在程序中直接访问这些资源了。这也就是我们之前的那四个奇怪的路径的由来了。
七、发布此时此刻,相信每一个喵粉的程序都能在自己的电脑上愉快的玩耍了。这么有意思的程序,怎么分享给其他人呢?
和Windows上常用的VS类似,Qt Creator的左下角有个发布选项:
选择Release,然后构建整个项目就可以了。之后找到我们的程序,双击就可以运行。
这时候你会愉快的把这个程序发给你的好伙伴,得到的反应一定是:这是啥!我打不开!
为什么呢?
虽然Qt是一个跨平台的界面库,但如果对方的电脑上没有安装Qt,那么就不能运行。不过不用失落,Qt中早已给出一个绝妙的解决办法。
小喵的电脑是Mac的,所以找到的解决方案也是Mac的,Windows和Linux上也有类似的办法,大家可以自行查找。
参考上述博客,我们使用macdeployqt这个工具来处理一下release的程序就搞定。这时候你会发现原本100k的程序变成了22M。但是直接发给别人的时候,是可以直接运行的!
至此,本次的博客结束了。
完整的项目在github上可以下载:
https://github.com/miaoerduo/Anno_pro
如果您觉得本文对您有帮助,那请小喵喝杯茶吧~~O(∩_∩)O~~
转载请注明出处~