关于QT的QPushButton的ICON问题~

关于QT的QPushButton的ICON问题~,第1张

大小并不是固定,这是原话

The default size is defined by the GUI style This is a maximum size for the icons Smaller icons will not be scaled up

设的是最大值,小图标不会被拉伸。

1程序图标文件必须为ico文件,如果不是可以用格式工厂转换为ico文件,放在源文件目录下,命名为“Qicoico”

2在同一目录下新建一个Qicorc文件,输入:IDI_ICON1 ICON DISCARDABLE "Qicoico"

3在VS中右键项目->添加现有项->选中Qicorc和Qicoico添加至项目中,重新生成即可

4运行结果如下

我用的是Qt Creator,修改的方法是:

首先准备个ICO图标。例如:Aico,网上有很多图标文件。

用记事本新建个txt

里面就写一行:

IDI_ICON1 ICON DISCARDABLE "Aico"

保存,修改后缀为rc,例如: myapprc

把它和图标Aico一起复制到你的QT工程项目的目录。

打开你的QT工程文件pro(例如 "myapppro" ),

在里面最后新添一行

RC_FILE = myapprc

保存,重新编译你的工程。

如果想换图标,就重换一个图标,重命名为Aico替换原来的,重新编译就可以了。

在代码中设置它的样式表就可以了。打个比方,做视频播放器的时候,通常播放和暂停键是一个按键,只是icon换了而已,setStyleSheet就可以达到目的了。我们可以这样做:

void Player::playPause()

{

if (is_playing)

{

/ Pause /

Pause();

ui->pushButton->setStyleSheet(tr("border-image: url(:/images/playpng);"));;

}

else

{

/ Play /

Play ();

ui->pushButton->setStyleSheet(tr("border-image: url(:/images/pausepng);"));

}

}

采用QPushButton控件。QPushButton支持和文字同时显示的。你把QIcon转成放入QPushButton中就可以了。

详情请自己百度,或者看QPushButton的帮助文档吧。

我用的是Qt Creator,修改的方法是:

首先准备个ICO图标。例如:Aico,网上有很多图标文件。

用记事本新建个txt

里面就写一行:

IDI_ICON1 ICON DISCARDABLE "Aico"

保存,修改后缀为rc,例如: myapprc

把它和图标Aico一起复制到你的QT工程项目的目录。

打开你的QT工程文件pro(例如 "myapppro" ),

在里面最后新添一行

RC_FILE = myapprc

保存,重新编译你的工程。

如果想换图标,就重换一个图标,重命名为Aico替换原来的,重新编译就可以了。

工程文件夹里找,有个qrc文件,用vs打开或其他能打开的软件打开,照这个相应的形式添加资源就好了。例如:<file>images/rightpng</file>。

这样rightpng就可以利用QIcon应用了,QIcon("/image/rightpng");这样资源就能出来了。

具体依赖于编译器。部分编译器不支持exe图标更改。

以VC为例:

1 打开工程。

2 新建文件,选择resource类型文件(资源类)。

3 选择add resource(新增资源)。

4 选择icon(图标)。

5 选择一个ico文件导入。ico即图标文件。可以选择系统自带的,也可以自己制作。

6 编译工程。会发现exe的图标已经更换了。

补充说明:已经生成的exe文件无法修改图标。

以上就是关于关于QT的QPushButton的ICON问题~全部的内容,包括:关于QT的QPushButton的ICON问题~、Qt 5.9.2如何修改默认程序图标、qt怎样修改程序图标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9822883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存