python - ListWidget 在运行一次该方法后一直崩溃
问题描述
问题是我有一个学校项目,我还有一周的时间来完成。基本上我的代码在搜索一次文件后一直崩溃。对于这个项目,我们需要做一个类似程序的库。给我带来问题的方法称为 def isciknjige。它基本上应该在文件中找到您正在寻找的一本书,并且在它崩溃后进行搜索。
当前代码:
import sys
from PyQt5 import QtWidgets, uic
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import *
ls = []
def odprivpis():
dlg2.show()
dlg.close()
def odprimain_page():
dlg.show()
dlg2.close()
def seznamvsehknjig():
dlg3.show()
dlg.close()
def odpripage4():
dlg4.show()
def odpripage5():
seznam = open("baza_knjig.csv", "r")
seznam = seznam.readlines()
listWidget = QListWidget()
listWidget.show()
ls = []
for i in seznam:
listWidget.addItem(i)
listWidget.addItems(ls)
sys.exit(app.exec_())
seznam.close()
def odpripage6():
dlg6.show()
def vpis(dat):
dat=""
dat=open("Uporabniki.csv","a" , encoding="UTF-8")
A=str(dlg2.Ime.text())
B=str(dlg2.Priimek.text())
C=str(dlg2.Prebivalisce.text())
D=str(dlg2.Datumrojstva.text())
E=str(dlg2.ID.text())
dat.write(A + " / ")
dat.write(B + " / ")
dat.write(C + " / ")
dat.write(D + " / ")
dat.write(E + " / ")
dat.close()
dlg2.close()
dat.close()
class Knjiznica:
def __init__(self,naslov,avtor,letoizdaje,zvrst,identifikacija):
self.naslov=naslov
self.avtor=avtor
self.letoizdaje=letoizdaje
self.identifikacija=identifikacija
def nazaj3():
dlg3.close()
dlg.show()
def nazaj4():
dlg4.close()
dlg.show()
def nazaj5():
dlg5.close()
dlg.show()
def nazaj6():
dlg6.close()
dlg.show()
def dodajknjigo(dat2):
dat2=""
dat2=open("baza_knjig.csv" , "a" , encoding="UTF-8")
f=str(dlg6.naslov.text())
g=str(dlg6.avtor.text())
h=str(dlg6.leto.text())
i=str(dlg6.zvrst.text())
j=str(dlg6.id.text())
dat2.write(f + " / ")
dat2.write(g + " / ")
dat2.write(h + " / ")
dat2.write(i + " / ")
dat2.write(j + " / ")
dat2.close()
dlg6.close()
dat2.close()
def isciknjigo(dat3):
error="Ni zadetkov iskanja."
app = QApplication(sys.argv)
seznam = open("baza_knjig.csv", "r")
seznam = seznam.readlines()
listWidget = QListWidget()
listWidget.show()
knjiga = str(dlg4.iskanje.text())
for line in seznam:
if knjiga in line:
listWidget.addItem(line)
dlg4.iskanje.setText("")
listWidget.addItems(ls)
app.exec_()
app=QtWidgets.QApplication([])
dlg2=uic.loadUi("vpis.ui")
dlg=uic.loadUi("main_page.ui")
dlg3=uic.loadUi("seznam_knjig.ui")
dlg4=uic.loadUi("isci_knjige.ui")
dlg5=uic.loadUi("baza_knjig.ui")
dlg6=uic.loadUi("dodaj_knjigo.ui")
dlg2.prijava.clicked.connect(vpis)
dlg2.prijava.clicked.connect(odprimain_page)
dlg.prijavi_se_v_sistem.clicked.connect(odprivpis)
dlg.seznam_vseh_knjig.clicked.connect(odpripage5)
dlg.isci_po_knjiznici.clicked.connect(odpripage4)
dlg.dodaj_knjigo.clicked.connect(odpripage6)
dlg3.Nazaj.clicked.connect(nazaj3)
dlg4.Nazaj.clicked.connect(nazaj4)
dlg5.Nazaj.clicked.connect(nazaj5)
dlg6.Nazaj.clicked.connect(nazaj6)
dlg6.dodaj.clicked.connect(dodajknjigo)
dlg4.gumb_isci.clicked.connect(isciknjigo)
dlg.show()
(我编程不会太好,因为我只在高中二年级。这很困难,因为我们从一开始就没有得到什么帮助。)
解决方案
推荐阅读
- javascript - 通过JS在表格中添加新行,如何包含变量?
- scheduled-tasks - 在 Windows XP 中打开特定应用程序时运行 bat 文件
- jquery - 在 iframe 中查找元素并在 Wordpress 中通过 Jquery 或 js 将其隐藏
- python-3.x - 在 python 中添加凭据(用户名和密码)并获取 URL
- html - 如何在不增加页面内容的情况下为滚动条赋予固定高度?
- magento - Magento session_regenerate_id() 错误
- token - 部署的 ERC23 代币在我的钱包中显示 0 余额,问题出在哪里?
- c++ - 同一成员组中的 Doxygen 类和函数
- angularjs - 节点到 Netlify.TOML 的转换
- amazon-web-services - 如何使用 cloudformation 模板为 Elastic Beanstalk 启用 CloudWatch