总线通信架构整改完成
This commit is contained in:
		
							
								
								
									
										45
									
								
								toolbox/codes/ui/components/list_widget_ui.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								toolbox/codes/ui/components/list_widget_ui.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
from PySide6.QtGui import QFocusEvent
 | 
			
		||||
from PySide6.QtWidgets import QListWidget, QListWidgetItem
 | 
			
		||||
from PySide6.QtCore import Qt, QEvent
 | 
			
		||||
 | 
			
		||||
from codes.common import clibs
 | 
			
		||||
from codes.common.signal_bus import signal_bus
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SListWidget(QListWidget):
 | 
			
		||||
    def __init__(self, parent=None):
 | 
			
		||||
        super().__init__(parent)
 | 
			
		||||
 | 
			
		||||
        self.predos()
 | 
			
		||||
        self.init_ui()
 | 
			
		||||
        self.setup_slot()
 | 
			
		||||
 | 
			
		||||
    def predos(self):
 | 
			
		||||
        ...
 | 
			
		||||
 | 
			
		||||
    def init_ui(self):
 | 
			
		||||
        for item in clibs.listW_items:
 | 
			
		||||
            _ = QListWidgetItem(item)
 | 
			
		||||
            _.setTextAlignment(Qt.AlignmentFlag.AlignCenter)
 | 
			
		||||
            self.addItem(_)
 | 
			
		||||
 | 
			
		||||
    def setup_slot(self):
 | 
			
		||||
        self.itemClicked.connect(self.item_clicked)
 | 
			
		||||
        signal_bus.qa_stacked_page_switch.connect(self.hide)
 | 
			
		||||
        signal_bus.list_widget_on_off.connect(self.lw_show_hide)
 | 
			
		||||
 | 
			
		||||
    def item_clicked(self, item):
 | 
			
		||||
        page_id = clibs.listW_items[item.text()]
 | 
			
		||||
        signal_bus.list_widget_click.emit(page_id)
 | 
			
		||||
 | 
			
		||||
    def lw_show_hide(self, enabled: bool):
 | 
			
		||||
        if enabled:
 | 
			
		||||
            self.clearSelection()
 | 
			
		||||
            self.show()
 | 
			
		||||
            signal_bus.init_stacked_page.emit("w10_practical")
 | 
			
		||||
        else:
 | 
			
		||||
            self.hide()
 | 
			
		||||
 | 
			
		||||
    def focusOutEvent(self, event: QFocusEvent):
 | 
			
		||||
        self.clearSelection()
 | 
			
		||||
        super().focusOutEvent(event)
 | 
			
		||||
		Reference in New Issue
	
	Block a user