请问我这个pyqt代码有什么问题?
我想实现点击按钮选择exe文件后在窗口内显示我的图标,可是不成功,是什么问题?
```c++
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog, QLabel, QVBoxLayout, QListWidget, \
QWidget, QListWidgetItem, QMessageBox
from PyQt5.QtGui import QIcon, QPixmap
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("选择软件示例")
self.setGeometry(100, 100, 500, 400)
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
self.main_layout = QVBoxLayout(self.central_widget)
self.file_list_widget = QListWidget(self)
self.main_layout.addWidget(self.file_list_widget)
self.button = QPushButton("选择软件", self)
self.button.clicked.connect(self.onButtonClick)
self.main_layout.addWidget(self.button)
# ...
def onButtonClick(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
filename, _ = QFileDialog.getOpenFileName(self, "选择软件", "", "应用程序 (*.exe)", options=options)
if filename:
icon = QIcon.fromTheme("application-x-executable") # 获取文件的图标
pixmap = icon.pixmap(64, 64) # 调整图标的大小
item = QListWidgetItem(QIcon(pixmap), filename.split("/")[-1]) # 加载图标并添加到列表项中
self.file_list_widget.addItem(item)
# 创建一个 QLabel 用于显示图标
icon_label = QLabel(self)
icon_label.setPixmap(pixmap)
self.main_layout.addWidget(icon_label)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```