59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
from component.widget_main.widget_main import Widget_Main
|
|
from component.widget_channel.widget_channel import Widget_Channel
|
|
from component.widget_card.widget_card import Widget_Card
|
|
from component.widget_card.widget_card import CardData
|
|
from component.widget_filter.audio_filter_componet import AudioFilterWidget
|
|
|
|
from datetime import date
|
|
from PySide6.QtWidgets import QMainWindow
|
|
from PySide6.QtWidgets import QWidget
|
|
from PySide6.QtCore import QObject
|
|
|
|
class MainWindow(QWidget):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.widget_main = Widget_Main()
|
|
self.widget_channel = Widget_Channel()
|
|
self.widget_card = Widget_Card()
|
|
|
|
self.widget_main.ui.ListWidget_vLayout.addWidget(self.widget_card)
|
|
self.widget_main.ui.Channel_hLayout.addWidget(self.widget_channel)
|
|
|
|
self.widget_filter_list = []
|
|
|
|
self.create_filter_widget()
|
|
self.setup_connections()
|
|
|
|
def create_filter_widget(self):
|
|
for i in range(24):
|
|
filter_widget = AudioFilterWidget()
|
|
filter_widget.set_channel_id(i)
|
|
filter_widget.set_channel_name(f"Channel {i+1}")
|
|
self.widget_filter_list.append(filter_widget)
|
|
|
|
def setup_connections(self):
|
|
print("setup_connections")
|
|
self.widget_channel.channel_btn_clicked.connect(self.on_channel_btn_clicked)
|
|
|
|
def on_channel_btn_clicked(self, channel_id: int):
|
|
print(f"channel_id: {channel_id}")
|
|
self.widget_filter_list[channel_id].show()
|
|
|
|
if __name__ == '__main__':
|
|
import sys
|
|
from PySide6.QtWidgets import QApplication
|
|
|
|
app = QApplication(sys.argv)
|
|
main_window = MainWindow()
|
|
for i in range(1, 11):
|
|
data = CardData(
|
|
name=f"项目 {i}",
|
|
date=date.today().strftime("%Y-%m-%d"),
|
|
description=f"这是项目 {i} 的详细描述信息,可以包含多行文本内容。这是一个较长的描述,用于测试换行效果。"
|
|
)
|
|
main_window.widget_card.add_card_item(data)
|
|
main_window.widget_main.show()
|
|
sys.exit(app.exec())
|
|
|
|
|