-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainWindow.py
More file actions
51 lines (44 loc) · 1.87 KB
/
MainWindow.py
File metadata and controls
51 lines (44 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from PySide6 import QtGui, QtCore
from dialog.SettingDialog import SettingDialog
from main_window import Ui_MainWindow
from dialog.AboutDialog import AboutDialog
from dialog.HelpDialog import HelpDialog
from PySide6.QtWidgets import QMainWindow, QListWidgetItem
from PySide6.QtCore import Qt
from core.device import get_device_list
from widget.DeviceWidget import DeviceWidget
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.current_page = None
self.last_page = None
self.ui.btn_tutor.clicked.connect(
lambda: QtGui.QDesktopServices.openUrl(QtCore.QUrl('https://cabbage.planplus.cn')))
self.ui.btn_home.clicked.connect(self.back2home)
self.ui.btn_setting.clicked.connect(lambda: SettingDialog().exec())
self.ui.btn_about.clicked.connect(lambda: AboutDialog().exec())
self.ui.btn_init.clicked.connect(self.init_device)
self.ui.listWidget.setFocusPolicy(Qt.FocusPolicy.NoFocus)
self.back2home()
def back2home(self):
self.ui.listWidget.clear()
self.ui.stackedWidget.setCurrentIndex(0)
self.ui.btn_home.hide()
def init_device(self):
devices = get_device_list()
if devices:
for device in devices:
device_widget = DeviceWidget(self, device["product"], device["device_id"])
item = QListWidgetItem()
# item.setSizeHint(device_widget.sizeHint())
self.ui.listWidget.addItem(item)
self.ui.listWidget.setItemWidget(item, device_widget)
self.ui.stackedWidget.setCurrentIndex(1)
self.ui.btn_home.show()
else:
HelpDialog().exec()
# def resizeEvent(self, event):
# self.overlay.resize(event.size())
# event.accept()