【发布时间】:2022-10-18 00:46:08
【问题描述】:
我有以下代码使用 QPushButton 以 jpg 和 png 格式显示 16x16 或 16x12 的图像:
navbar=QToolBar()
btn=QPushButton()
btn.setIcon(QIcon(QPixmap("back.jpg"))) #or .png
btn.clicked.connect(self.btn_pressed)
navbar.addWidget(btn)
我也尝试过像这样使用 QAction:
navbar=QToolBar()
action=QAction(QIcon(QPixmap("back.jpg")),"back",self)
action.triggered.connect(self.btn_pressed)
navbar.addAction(action)
它们总是显示文本或实际按钮,但没有文本或渲染图像为空,我看不出一切都失败了。
【问题讨论】:
-
您没有为 QPushButton 设置任何文本,因此不应显示任何文本。您确定图像的路径正确且正确加载 (
print(QPixmap("back.jpg").isNull()))?请注意,相对路径总是相对于工作目录. -
是的,所有这些文件都在同一个目录中
-
我得到 True to isNull()
-
我不想在按钮上显示文本我只想将图像视为图标
-
好吧,您已经找到了答案:如果
isNull()返回True,则表示没有加载任何图像。所以文件名错误,或者相对路径不正确,因为您是从另一个路径启动脚本或解释器。请注意,我清楚地写了关于工作目录,这与“在同一目录中”无关。