我在obs-studio中找到以下代码:
QString mpath = QString("file:///") + path.c_str();
setStyleSheet(mpath);前面带有file:///的文件路径将直接传递给setStyleSheet()。
官方参考中没有提到这种用法。然而,obs-studio并没有重新定义这个函数,这表明它是一个Qt函数。
这能行得通吗?我在我的代码中尝试过,但失败了。
发布于 2017-08-26 00:48:03
如果您查看Qt文档,就会发现没有任何迹象表明支持将任何URL作为参数传递给setStyleSheet()。此外,如果您查看definition of QApplication::setStyleSheet,就会发现没有URL处理。
样式表由QStyleSheetStyle对象代理。在该对象中,您将发现字符串以this method of the CSS parser结尾。读取文件的功能确实存在。
将字符串内容视为文件路径而不是样式表标记can be found here的逻辑。如果存在file:///部分,则将其删除,然后将该字符串理解为路径。
然而,对我来说,这似乎是一个未记录的功能,因此最好避免使用。
https://stackoverflow.com/questions/45885242
复制相似问题