from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
import sys,random,time
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
self.MainWindow=MainWindow
MainWindow.setObjectName("MainWindow")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(20, 20, 661, 221))
self.groupBox.setObjectName("groupBox")
self.listWidget = QtWidgets.QListWidget(self.groupBox)
self.listWidget.setGeometry(QtCore.QRect(20, 30, 621, 171))
self.listWidget.setObjectName("listWidget")
self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_2.setGeometry(QtCore.QRect(20, 260, 441, 171))
self.groupBox_2.setObjectName("groupBox_2")
self.pushButton = QtWidgets.QPushButton(self.groupBox_2)
self.pushButton.setGeometry(QtCore.QRect(20, 50, 112, 34))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.add)
self.pushButton_2 = QtWidgets.QPushButton(self.groupBox_2)
self.pushButton_2.setGeometry(QtCore.QRect(160, 50, 112, 34))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_2.clicked.connect(self.listWidget.clear)
self.pushButton_4 = QtWidgets.QPushButton(self.groupBox_2)
self.pushButton_4.setGeometry(QtCore.QRect(300, 50, 112, 34))
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_4.clicked.connect(self.default)
self.pushButton_5 = QtWidgets.QPushButton(self.groupBox_2)
self.pushButton_5.setGeometry(QtCore.QRect(160, 110, 112, 34))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_5.clicked.connect(self.draw)
self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_3.setGeometry(QtCore.QRect(480, 300, 181, 91))
self.groupBox_3.setObjectName("groupBox_3")
self.label = QtWidgets.QLabel(self.groupBox_3)
self.label.setGeometry(QtCore.QRect(20, 30, 151, 41))
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def add(self):
text,ok=QInputDialog.getText(self.MainWindow,'添加标签','标签内容:')
if ok and text!='':
Item = QListWidgetItem(self.listWidget)
Item.setText(text)
self.listWidget.addItem(Item)
def default(self):
Item_list=['刘一','陈二','张三','李四','王五','赵六','孙七','周八','吴九','郑十']
for t in Item_list:
Item = QListWidgetItem(self.listWidget)
Item.setText(t)
self.listWidget.addItem(Item)
def draw(self):
try:
l=[]
for i in range(100000000):
try:
l.append(self.listWidget.item(i).text())
except:
break
if len(l)==0:
QMessageBox.critical(self.MainWindow,'错误','未输入标签!')
return
number=random.randint(0,len(l))
self.label.setText(self.listWidget.item(number).text())
time.sleep(0.01)
except:
pass
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "抽签小工具"))
MainWindow.setFixedSize(700, 460)
MainWindow.setWindowIcon(QIcon('icon.ico'))
self.groupBox.setTitle(_translate("MainWindow", "标签"))
self.groupBox_2.setTitle(_translate("MainWindow", "操作"))
self.pushButton.setText(_translate("MainWindow", "添加"))
self.pushButton_2.setText(_translate("MainWindow", "清空"))
self.pushButton_4.setText(_translate("MainWindow", "添加默认"))
self.pushButton_5.setText(_translate("MainWindow", "抽签"))
self.groupBox_3.setTitle(_translate("MainWindow", "结果"))
if __name__=='__main__':
# 实例化,传参
app = QApplication(sys.argv)
# 创建对象
mainWindow = QMainWindow()
# 创建ui
ui = Ui_MainWindow()
# 调用Ui_MainWindow类的setupUi,创建初始组件
ui.setupUi(mainWindow)
# 创建窗口
mainWindow.show()
# 进入程序的主循环,并通过exit函数确保主循环安全结束(该释放资源的一定要释放)
sys.exit(app.exec_())