我想写一个音乐播放器之类的东西,当你从列表中选择一个mp3时,它就会播放。但是,到目前为止,我什至还没有达到选择元素时,click
.
帮助处理工作表中的点击。视觉效果是使用Qt Designer制作的。
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import *
import sys
def clicked(): #Функция которая должна вызываться при выборе элемента из списка(можно не обращать внимание.)
print("click")
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(640, 402)
MainWindow.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0.182, y1:0.102409, x2:1, y2:1, stop:0.113636 rgba(0, 62, 79, 147), stop:0.306818 rgba(28, 14, 68, 156));")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(-130, -40, 1031, 491))
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("2HYI.gif"))
self.label.setObjectName("label")
self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(0, 310, 641, 80))
self.widget.setObjectName("widget")
self.listWidget = QtWidgets.QListWidget(self.centralwidget) #Начиная отсюда list
self.listWidget.setGeometry(QtCore.QRect(0, 0, 121, 311))
self.listWidget.setStyleSheet("font: 75 italic 8pt \"MS Sans Serif\";\n"
"color: rgb(121, 92, 121);")
self.listWidget.setObjectName("listWidget")
item = QtWidgets.QListWidgetItem()
font = QtGui.QFont()
font.setFamily("Roman")
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
item.setFont(font)
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
#сюда я пытался привязать clicked и connect
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
__sortingEnabled = self.listWidget.isSortingEnabled()
self.listWidget.setSortingEnabled(False)
item=self.listWidget.item(0)
item.setText(_translate("MainWindow", "New Item"))
item = self.listWidget.item(1)
item.setText(_translate("MainWindow", "New Item"))
item = self.listWidget.item(2)
item.setText(_translate("MainWindow", "New Item"))
item = self.listWidget.item(3)
item.setText(_translate("MainWindow", 'w'))
self.listWidget.setSortingEnabled(__sortingEnabled)
#сюда тоже
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
在Qt Designer中,我listwidget
发现了一些关于listview
.
您可以使用该功能
itemClicked
。例如,点击元素的处理
listWidget
可以绑定到一个函数clicked
,只需将函数本身添加到类中Ui_MainWindow
:不要更改Qt Designer生成的代码。创建另一个从相应小部件继承的类,并使用生成的类来填充它。
主文件