我爬虫爬取了CSV文件,全部都是各国的歌手,现在想做一个页面,例如就是在下拉栏中,选择华语女歌手就显示CSV文档中华语女歌手的名字,请求各位大佬这样该怎样设计?跪求大佬了
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow
import csv
class Ui_MainWindow(QMainWindow):
def init(self):
super(Ui_MainWindow,self).init()
self.setupUi(self)
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.comboBox = QtWidgets.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(180, 70, 161, 41))
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(450, 70, 111, 41))
self.pushButton.setObjectName("pushButton")
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setGeometry(QtCore.QRect(150, 190, 451, 311))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(0)
self.tableWidget.setRowCount(0)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.comboBox.activated['QString'].connect(self.show_info_1)
self.pushButton.clicked.connect(self.show_info_1)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def show_info_1(self):
list = []
with open('all_singer.csv','r',encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
n = row[1]
list.append(n)
# del list[0]
str = '/n'.join(list)
self.textEdit.setText(str)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "歌手"))
self.comboBox.setItemText(0, _translate("MainWindow", "华语男歌手"))
self.comboBox.setItemText(1, _translate("MainWindow", "华语女歌手"))
self.comboBox.setItemText(2, _translate("MainWindow", "华语组合/乐队"))
self.comboBox.setItemText(3, _translate("MainWindow", "欧美男歌手"))
self.comboBox.setItemText(4, _translate("MainWindow", "欧美女歌手"))
self.comboBox.setItemText(5, _translate("MainWindow", "欧美组合/乐队"))
self.comboBox.setItemText(6, _translate("MainWindow", "日本男歌手"))
self.comboBox.setItemText(7, _translate("MainWindow", "日本女歌手"))
self.comboBox.setItemText(8, _translate("MainWindow", "日本组合/乐队"))
self.comboBox.setItemText(9, _translate("MainWindow", "韩国男歌手"))
self.comboBox.setItemText(10, _translate("MainWindow", "韩国女歌手"))
self.comboBox.setItemText(11, _translate("MainWindow", "韩国组合/乐队"))
self.pushButton.setText(_translate("MainWindow", "搜索"))
思路:
1-声明一个函数主要负责,读取csv,分类歌手,存储分类好的歌手。
2-下拉菜单链接信号,当用户选择后触发信号调用函数,函数的功能是将上面处理好数据的华语女歌手的名字展示到window界面中。