53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
![]() |
from PyQt5.QtCore import *
|
||
|
from PyQt5.QtGui import *
|
||
|
from PyQt5.QtWidgets import *
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class select_list(QObject):
|
||
|
def __init__(self,father:QDialog,title:str,str_list:list):
|
||
|
QObject.__init__(self)
|
||
|
self.w=QDialog(father)
|
||
|
self.w.resize(800,400)
|
||
|
self.w.setWindowTitle(title)
|
||
|
self.w.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
||
|
self.w.setWindowModality(Qt.WindowModality.ApplicationModal)
|
||
|
|
||
|
self.file_list = QListWidget(self.w)
|
||
|
self.file_list.setObjectName(u"str_list")
|
||
|
self.file_list.setGeometry(QRect(20, 20, 760, 360))
|
||
|
self.file_list.setFrameShape(QFrame.Shape.Box)
|
||
|
self.file_list.setMidLineWidth(1)
|
||
|
self.file_list.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded)
|
||
|
self.file_list.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
||
|
self.file_list.itemDoubleClicked.connect(self.item_clicked)
|
||
|
self.item_append(str_list)
|
||
|
|
||
|
def item_append(self,items:list):
|
||
|
for i in items:
|
||
|
# print("add item",i[0])
|
||
|
self.file_list.addItem(i[0])
|
||
|
def item_clicked(self,item:QListWidgetItem ):
|
||
|
self.select_item=item.text()
|
||
|
self.w.done(QDialog.DialogCode.Accepted)
|
||
|
self.w.close()
|
||
|
def show(self):
|
||
|
# self.w.show()
|
||
|
if(self.w.exec()==QDialog.DialogCode.Accepted):
|
||
|
# print(self.select_item)
|
||
|
return self.select_item
|
||
|
return ""
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|