|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
PYTHON在pyside6中如何获得一个按钮的ICON图标的路径呢?
如下代码:
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication,QPushButton,QVBoxLayout,QWidget
class Window(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.icon = QIcon('我需要获得这个图片的路径.png')
self.button2 = QPushButton(icon=self.icon, parent=self)
self.button2.setFixedSize(QSize(100, 60))
self.button2.setIconSize(QSize(40, 40))
self.button2.clicked.connect(self.icon_changed)
layout = QVBoxLayout()
layout.addWidget(self.button2)
self.setLayout(layout)
def icon_changed(self):
"""打印图标完整路径"""
pass
app = QApplication([])
window = Window()
window.show()
sys.exit(app.exec())
对不起,我之前理解错了你的问题。确实,PySide6中没有提供直接获得按钮图标路径的方法。如果你需要在程序运行过程中获取按钮图标的路径,最好的方法是在创建按钮时,将图标的文件路径存储在按钮对象的属性中,以便后续使用。
以下是修改后的代码示例:
- from PySide6.QtCore import QSize
- from PySide6.QtGui import QIcon
- from PySide6.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
- class Window(QWidget):
- def __init__(self, parent=None):
- super().__init__(parent)
- self.button2 = QPushButton(parent=self) # 创建按钮对象
- self.button2.setProperty('icon_path', 'icon.png') # 存储图标路径为按钮的属性
- self.icon = QIcon(self.button2.property('icon_path')) # 从按钮的属性中获取图标路径
- self.button2.setIcon(self.icon) # 设置按钮图标
- self.button2.setFixedSize(QSize(100, 60))
- self.button2.setIconSize(QSize(40, 40))
- self.button2.clicked.connect(self.icon_changed)
-
- layout = QVBoxLayout()
- layout.addWidget(self.button2)
- self.setLayout(layout)
- def icon_changed(self):
- """打印图标完整路径"""
- icon_path = self.button2.property('icon_path')
- print(icon_path)
- app = QApplication()
- window = Window()
- window.show()
- app.exec()
复制代码
在上面的代码中,我们使用`setProperty()`方法将图标路径保存在按钮的属性中,并使用`property()`方法从按钮的属性中获取图标路径。通过这种方式,你可以在按钮点击事件或其他需要时,获取按钮的图标路径。
希望这次能解决你的问题。如果还有其他疑问,请随时提问。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
|
|