我使用Ruby和Qt4。除了从文件加载图像外,一切都很好。我尝试使用.ui文件中包含的资源文件加载它们。没有任何结果。我也在代码中尝试过。以这种方式例如:
class Window < Qt::Window
def initialize
filename = "images/icon.ico"
icon = Qt::Icon.new filename
setWindowIcon icon
puts File.exist? filename
puts Qt::File.new(filename).exists
puts !icon.isNull
puts icon.name
end
end
图标仍为空。结果如下:
true
true
true
<empty line>
当我尝试将图像加载为QPixmap并调整大小时,我收到了错误信息:“空QPixmap无法调整大小”。 图像位于'images / icon.ico'中脚本的相对位置,但我尝试使用绝对路径(例如E:/Ruby/Project/images/icon.ico)。结果是一样的。我在Windows下工作,但路径在Qt之外工作。例如,使用Yaml文件。加载文件.ui工作得很好。问题出在哪里?
答案 0 :(得分:0)
我已经找到了有关此问题的详细信息。问题是在使用Qt的所有语言上加载插件库.DLL(我想是这样)。
接下来需要使用 QApplication :: addLibraryPath(String)来添加我们的新插件路径。我在Ruby中做过例子:
class App < Qt::Application
def initialize
super ARGV
addLibraryPath 'foobar' # There is qico4.dll
icon = Qt::Icon.new 'images/icon.ico' # Now I can use .ico!
setWindowIcon icon
# ... show windows et cetera.
end
end
App.new.exec # All of windows now have icon from icon.ico.