基于qt5的应用程序在windows和linux环境下修改图标及制定后缀关联
1、windows
1.1 修改应用程序图标
方式一:
使用qmake来生成makefile文件,只需要在.pro中添加:
RC_ICONS = logo.ico
然后,重新生成makefile文件和应用程序,对应的.exe可执行程序就被设置好图标了。(这种方法,要将logo.ico和.pro文件放到同一个文件夹下)
方式二:
1、右键项目文件夹,添加新文件,选择General->Empty File。
2、 将文件名命名为logo.rc,并在文件中添加如下代码:
IDI_ICON1 ICON DISCARDABLE "logo.ico"
3、 在.pro文件中,添加如下代码:
RC_FILE += logo.rc
至此可执行文件本身的图标就设置完成(这种方法,要将logo.ico和logo.rc两个文件与.pro文件放到同一个文件夹下)
1.2文件关联
命令行(或者以写入注册表的方式注册):
Assoc 显示或修改文件扩展名的关联
Ftype 显示或修改用在文件扩展名中的关联
assoc .eest=eestfile【取消:assoc .eest=】
ftype eestfile=C:\Windows\notepad.exe %1【取消:ftype eestfile=】
Qt 中相关命令行设置:
// 初始化文件后缀关联
QString strAssoc = "assoc .eest=eestfile"; // 显示或修改文件扩展名的关联
QString strFtype = QString("ftype eestfile=\"%1\"").arg(QApplication::applicationFilePath()); // 显示或修改用在文件扩展名中的关联
strFtype.replace("/", "\\");
QProcess::startDetached("cmd.exe", QStringList() << "/c" << strAssoc + "\n");
QProcess::startDetached("cmd.exe", QStringList() << "/c" << strFtype + "%1 \n");
2、linux
2.1 修改应用程序图标
创建open_eets.desktop文件,添加以下内容并保存:
[Desktop Entry]
Name=EETS
Comment=open eets type file
Exec=/opt/apps/com.eetrust.wdaq/files/bin/SLClient/Shell/ETSMJBZUI15 %f
Icon=/opt/open_xyz/icon.png
Terminal=false
Type=Application
MimeType=application/x-eets;
Categories=GNOME;GTK;Network;RemoteAccess;
StartupNotify=true
拷贝到
chmod +x /usr/share/applications/open_eets.desktop
中。
其中: Exec 为可执行程序路径;
Icon 显示的图标路径;
MimeType 让应用程序知道它与文件关联;
赋权限:
2.2 文件关联
双击某一类型的图标,自动打开应用程序,并且显示应用程序的图标(例如后缀是eets),linux下有一个mime记录文件类型。
创建eets.xml文件,包含以下内容并保存:(这里的程序是以.eets结尾的)
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-eets">
<comment>File for YeecohReader</comment>
<generic-icon name="application-x-eets"/>
<glob pattern="*.eets"/>
</mime-type>
</mime-info>
拷贝到/usr/share/mime/packages/eets.xml中。
赋权限:
chmod +x /usr/share/mime/packages/eets.xml