修改提问模块

This commit is contained in:
2025-06-28 18:43:36 +08:00
parent b29750b56b
commit 8a07bb728e
4 changed files with 138 additions and 148 deletions

View File

@@ -1,9 +1,8 @@
from PySide6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QFrame
from PySide6.QtCore import QTimer, Qt, Signal
import sys
import random
from qfluentwidgets import DisplayLabel
from PySide6.QtCore import QTimer, Qt, Signal
from PySide6.QtWidgets import QWidget, QVBoxLayout, QFrame
from qfluentwidgets import DisplayLabel, LargeTitleLabel
from module.picker.schema import PickerStudent
@@ -24,11 +23,14 @@ class RollingTextWidget(QWidget):
self.current_index = 0
self.items = []
self.label = DisplayLabel("", self)
self.label.setAlignment(Qt.AlignCenter)
self.soLabel = LargeTitleLabel("", self)
self.nameLabel = DisplayLabel("", self)
self.soLabel.setAlignment(Qt.AlignCenter)
self.nameLabel.setAlignment(Qt.AlignCenter)
self.layout = QVBoxLayout()
self.layout.addWidget(self.label)
self.layout.addWidget(self.soLabel)
self.layout.addWidget(self.nameLabel)
self.setLayout(self.layout)
self.rolling_timer = QTimer(self)
@@ -42,7 +44,9 @@ class RollingTextWidget(QWidget):
def update_text(self):
# 每次显示下一个字符
self.current_index = (self.current_index + 1) % len(self.items)
self.label.setText(self.items[self.current_index].name)
stu = self.items[self.current_index]
self.soLabel.setText(stu.so)
self.nameLabel.setText(stu.name)
def start_rolling(self):
if not self.rolling_timer.isActive():
@@ -54,4 +58,13 @@ class RollingTextWidget(QWidget):
self.finishSignal.emit()
def set_items(self, items: list[PickerStudent]):
self.items = items
self.items = items[:]
random.shuffle(self.items)
def show_result(self, student: PickerStudent):
self.soLabel.setText(student.so)
self.nameLabel.setText(student.name)
def clear_text(self):
self.soLabel.clear()
self.nameLabel.clear()