
使用Qt进行软件开发,不可避免要使用资源文件。本节我们做一个简单示例,通过使用Qt资源文件为应用程序及关闭按钮设置图标。
根据前面我们所讲述的内容,先创建PyCharm工程项目,然后创建Qt工程项目,在Qt工程项目中设计界面并创建资源文件。
界面中我们只放置一个“关闭”按钮,所以在此不做具体的描述。下面,我们创建资源文件。
在Qt Creator中选择“File” -> "New File or Project",然后选择“Qt”->"Qt Resource File",在File name中输入res,在项目中可以看到,我们创建了一个resqrc资源文件。
在资源文件上右击,选择”Open in Editor“即可打开资源文件编辑器。
在资源文件中首先需要创建一个前缀,名称可以根据具体的资源进行命名,我们在此处命名为:icons;然后单击”Add Files“,选择事先准备好的图标文件添加进来。
在按钮的属性编辑器中找到icon属性,点击下拉菜单中的”Choose Resource“,在对话框中选择对应的资源文件中的图标即可。
编译资源文件:
在PyCharm的工程项目中创建一个名为rccbat的批处理文件,其代码如下:
注意:编译资源文件时,生成的py文件名结尾必须是_rc,因为编译窗体文件后会产生如下语句:
编译窗体文件:
在PyCharm的工程项目中创建一个名为uicbat的批处理文件,其代码如下:
运行以上两个批处理文件,可以看到编译后的py文件已经生成。
执行程序后可以看到,界面中的关闭按钮显示了我们在Qt Creator中设置的图标。
引入图标类:
在主程序中app = QApplication(sysargv)语句后面增加设置图标的代码:
为”关闭“按钮添加单击事件代码:
运行程序即可看到应用程序的图标也可以显示了。
如果是指qt编辑器的话,点 文件 session manager 在左下方框中选中“启动时恢复上次会话”。
如果是指自己写代码实现这个功能,就是用qsetting类,加入配置信息后自动生成配置文件,每次打开软件时去读取配置文件。
应用程序正常初始化错误 1 VC2003、VC2005、VC2008及其后续版本,对底层最基本的CRT、MFC、ATL库都进行了重构,为了避免不同版本的库引起冲突,重构后的库文件一般放在 C:windows\WinSxS 文件夹中,并用特定的文件夹\文件名称进行标识; 2
《qt5quickdll V10》百度网盘免费下载
nk3c
软件名称:qt5quickdllV10
语言:简体中文
大小:705KB
类别:系统工具
介绍:qt5quickdll是电脑中非常重要的一个注册表文件。如果缺少的话就会提示“无法找到qt5quickdll”或“计算机缺少qt5quickdll”,那么用户可以下载这个dll文件轻松修复问题!
打包平台:安装有QT开发环境的linux系统
发布平台:未安装有QT开发环境的linux系统
以下使用到的路径需要根据自己环境不同进行修改:
qt安装路径:/opt/Qt5125
freetype安装路径:/opt/Qt5125/Tools/QtCreator/lib/Qt/lib/ //包含三个文件libfreetypeso、libfreetypeso6、libfreetypeso6170
dbus安装路径:/opt/Qt5125/Tools/QtCreator/lib/Qt/lib/ //包含三个文件libdbus-1so、libdbus-1so3、libdbus-1so3260
项目路径:/home/cs/Code/test/
项目名称:test
使用到的脚本文件:
copylibsh
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/" | grep -o "//[^[:space:]]"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
copylib2sh
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libfreetypeso /
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libfreetypeso6 /
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libfreetypeso6170 /
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libdbus-1so /
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libdbus-1so3 /
sudo cp /opt/Qt5125/Tools/QtCreator/lib/Qt/lib/libdbus-1so3260 /
testsh
appname=`basename $0 | sed s,\sh$,,`
dirname=`dirname $0`
tmp="${dirname#}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
注意事项:该流程里的脚本都是777权限,如遇权限问题请使用 chmod 777 copylibsh 命令
首先将程序release编译,在项目路径里找到编译生成的文件夹build-Test-Desktop_Qt_5_12_5_GCC_64bit-Release,在这个文件夹内(注意,很重要)建立 copylibsh 脚本,并执行 /copylibsh test 。执行完成之后应该有一个lib文件夹,将lib文件夹内的所有内容和test程序复制到一个新的文件夹下test-release。
在QT安装目录下找到 /512/gcc_64/plugins/platforms 文件夹,建立 copylibsh 脚本,并执行 /copylibsh libqxcbso 。执行完成之后将这个 文件夹 复制到test-release文件夹中。然后在test-release/platforms文件夹中,将test-release/platforms/lib文件夹里的所有内容 剪切 到test-release文件夹里,并删除lib文件夹。
在test-release目录下建立 copylib2sh 脚本,并执行 /copylib2sh 。
至此,所有所需的库文件应该都打包完毕。
在test-release目录下建立 testsh 脚本,利用该脚本启动程序,启动命令为 /testsh 。
遗留问题点:
1debug版本未测试,不知道是否可行。
2platforms文件夹不仅在/512/gcc_64/plugins/platforms存在,还在/Tools/QtCreator/lib/Qt/plugins/platforms存在。在成功之前一直用的Tools目录下的,但是也有别的细节不一样,待考证。
3脚本执行,或者说库的复制顺序似乎有关系。第一次copylibsh 和 第二次copylibsh 时会用一部分重叠。待考证哪个优先。
目前从事嵌入式系统下的Qt应用程序开发;
程序需要支持中文,需要想qt的字体目录下导入中文字体;
目前导入为微软雅黑字体;当时不知道setfamily的时候需要使用的是什么名称;
该如何解决呢?
Qt已经给出了解决方案了;
使用QFontDatabase类;
根据帮助文档:
Detailed Description
The QFontDatabase class provides information about the fonts available in the underlying window system
具体描述:
QFontDatabase类提供了当前系统下可用的字体的信息;
该类其中一个函数:
QStringList QFontDatabase::families ( WritingSystem writingSystem = Any ) const
Returns a sorted list of the available font families which support the writingSystem
返回支持writingSystem的所有字体类型
那么就可以使用这个函数了解我们需要的信息;
例如:
[cpp] view plaincopy
QFontDatabase database;
foreach (const QString &family, databasefamilies())
{
qDebug()<<family;
}
以上这段代码就可以枚举出系统支持的所有字体的名称;
[cpp] view plaincopy
QFontDatabase database;
foreach (const QString &family, databasefamilies(QFontDatabase::SimplifiedChinese))
{
qDebug()<<family;
}
以上这段代码就可以枚举出系统中所有支持中文的字体名称。
根据打印信息就能知道微软雅黑字体的名称了:
Microsoft YaHei
qttask - qttaskexe - 进程信息
进程文件: qttask or qttaskexe
进程名称: Quick Time Tray Icon
描述: Quick Time任务栏图标在你运行Quick Time的时候启动。
常见错误: N/A
是否为系统进程: 否
以上就是关于「1.PyQt5 GUI 软件开发框架」4.使用Qt资源文件全部的内容,包括:「1.PyQt5 GUI 软件开发框架」4.使用Qt资源文件、qt编程,如何实现在每次打开程序的时候都可以加载上一次的配置信息,例如第一次打开程序后把几个文件名、从一个Qt应用程序外部程序问题,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)