Dan*_*ido 6 python qt qpixmap pyside pytest
我正在使用PySide开发GUI,我从这样的图像创建pixmap:
PHONE_IMAGE_PATH = "resources/images/phone.png"
self.phone_null = QtGui.QPixmap(GREY_DOT_PATH)
self.phone_null = self.phone_null.scaledToWidth(20)
Run Code Online (Sandbox Code Playgroud)
这在运行程序时非常有效,但是当我用py.test测试它时会发生这种情况:
QPixmap::scaleWidth: Pixmap is a null pixmap
Run Code Online (Sandbox Code Playgroud)
它说像素图是空的,所以看起来图像没有正确加载.
我真的想测试我的代码,我无法在任何地方找到有关此问题的任何信息.有没有人能解决我的问题?
来自维基百科:
相比之下,相对路径从某个给定的工作目录开始,从而无需提供完整的绝对路径。文件名可以被视为基于当前工作目录的相对路径。如果工作目录不是文件的父目录,并且按文件名寻址,则会出现文件未找到错误。
看来您正在使用图像资源的相对路径,因此当您运行程序时,相对路径是正确的,但我假设您的测试位于与主程序不同的目录中。
您可以通过以下方式获取当前文件位置:__file__
示例:
main_script_dir = os.path.dirname(__file__)
rel_path = "resources/images/phone.png"
PHONE_IMAGE_PATH = os.path.join(main_script_dir, rel_path)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |