【问题标题】:Qt Designer custom checkbox relative pathQt Designer 自定义复选框相对路径
【发布时间】:2015-12-28 09:00:07
【问题描述】:

我正在尝试在 Qt Designer 中创建一个使用自定义 png 图像而不是复选框的复选框。

我通过使用具有以下内容的自定义样式表来做到这一点:

QCheckBox::indicator {
 width: 30px;
 height: 30px;
 }

QCheckBox::indicator:checked
{
 image: url(radio_selected.png);
}
QCheckBox::indicator:unchecked
{
  image: url(C:\\MYPROJECT\\subdirectory\\radio_unselected.png);
}

QCheckBox::indicator:checked:hover
{
  image: url(C:\\MYPROJECT\\subdirectory\\radio_selected.png);
}
QCheckBox::indicator:unchecked:hover
{
  image: url(C:\\MYPROJECT\\subdirectory\\radio_unselected.png);
}

使用双反斜杠的绝对路径可提供所需的结果。相对路径条目不起作用。 也没有

QCheckBox::indicator:checked
{
 image: url(./radio_selected.png);
}

也没有

QCheckBox::indicator:checked
{
 image: url(.\radio_selected.png);
}

也没有

QCheckBox::indicator:checked
{
 image: url("radio_selected.png");
}

也没有

QCheckBox::indicator:checked
{
 image: url(file:///radio_selected.png);
}

或我尝试过的其他任何东西......我在这里错过了什么?

【问题讨论】:

  • 请确保您的应用程序运行的工作目录设置为"C:\MYPROJECT\subdirectory\"
  • 我找不到在 Qt Designer 中设置工作目录的任何选项。至于我用来调用 *-ui 文件的 python 脚本,它被设置为在其相应的目录中运行。
  • 好的...你能尝试一些其他的相对路径,比如..\\radio_selected.pngsubdirectory\\radio_selected.png..\\subdirectory\\radio_selected.png等吗?您可以尝试在实际程序中使用 ui 文件,在适当的工作目录中运行,以测试设计人员是否使用了错误/意外的工作目录。
  • 啊,QSS 中 URL 的常用语法是 "some/file/path",即带有正斜杠的引号字符串。也请尝试"./radio_selected.png"
  • 好的,如果我从 python 脚本调用 UI 文件,"./radio_selected.png" 似乎已经成功了 - Qt Designer 不会显示具有相对路径的图像。只要它在最终脚本中工作,我就可以接受它 - 仍然很烦人。谢谢,李姆斯!

标签: python qt checkbox qt-designer qtstylesheets


【解决方案1】:

为了将来参考,当使用带有自定义 QSS 的 Qt 设计器时,如果您希望图像标签位于 *.ui 文件的相对路径中,则必须使用语法 ./radio_selected.png 让它工作。

它不会在编辑器中显示,但在从脚本调用 *.ui 文件时会起作用。

【讨论】:

    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 2014-01-21
    • 2011-08-05
    • 2022-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多