Qt - 将边框图像设置为 QPushButton 使其失去推送效果

Qt - Setting border-image to QPushButton makes it lose push effect

在互联网上搜索后,我找到了一种为 QPushButton 设置自己的图像的方法,该行的样式为 sheet:

border-image: url(:/Path/to/my/image.jpg) 0 0 0 0 stretch stretch;

结果有一个很好的外观,但是失去了"push effect"。

同线

backgound-image: url(:/Path/to/my/image.jpg);

它保持了推送效果,但背景图像不会像 "border-image"

那样缩放到按钮的大小

是否有我还没有找到的技巧来使其与边框图像一起使用,或者我必须更改我的 .jpg 图像的大小才能使我的按钮样式正确?

所以,我找到了一种方法来做我想做的事,创建 2 个不同的 JPG 图像并将每个图像设置为在 QPushButton 的正常状态和按下状态下显示为边框图像,将以下行添加到按钮的样式表:

QPushButton{ border-image:url(:/path/to/my/image.jpg); QPushButton:pressed{ border-image:url(:/path/to/my/image2.jpg); }

对我有用,我可以说问题已经解决了。

您可以在所有按钮状态上放置样式 sheet。
查看 Qt 文档 QPushButton stylesheet