testy custom qtdragon zakladka, brak powodzenia
This commit is contained in:
78
qtvcp/screens/qtdragon_hd/handler.py
Normal file
78
qtvcp/screens/qtdragon_hd/handler.py
Normal file
@@ -0,0 +1,78 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# handler.py
|
||||
|
||||
import os
|
||||
from qtvcp.core import Handler, Info
|
||||
from qtvcp.widgets.widget_base import WidgetBase
|
||||
from PyQt5.QtWidgets import QPushButton
|
||||
|
||||
print("Plik handler.py został załadowany przez Pythona.")
|
||||
|
||||
# Pobierz sciezke do naszej konfiguracji
|
||||
PATH = Info().get_config_path()
|
||||
|
||||
class MyHandler(Handler):
|
||||
"""
|
||||
Główna klasa handlera, która dynamicznie ładuje zakładkę użytkownika.
|
||||
WERSJA DEBUG.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
Metoda __init__ jest wywoływana przy starcie.
|
||||
"""
|
||||
super(MyHandler, self).__init__(*args, **kwargs)
|
||||
print(">>> HANDLER: __init__ został wykonany. Obiekt MyHandler stworzony.")
|
||||
|
||||
# Tworzymy pin HAL dla naszego własnego przycisku
|
||||
self.my_custom_button_pin = self.hal.newpin("wlasny-przycisk_is-on", "HAL_BIT", "out")
|
||||
print(f">>> HANDLER: Pin HAL '{self.my_custom_button_pin.name}' został stworzony.")
|
||||
|
||||
def initialized(self):
|
||||
"""
|
||||
Ta metoda jest wywoływana, gdy interfejs jest już załadowany.
|
||||
Tutaj wczytujemy nasz plik UI i wstawiamy go do stackedWidget.
|
||||
"""
|
||||
print(">>> HANDLER: Metoda 'initialized' została wywołana.")
|
||||
|
||||
# Ścieżka do naszego pliku UI z zawartością zakładki
|
||||
user_tab_ui_file = os.path.join(PATH, 'qtvcp', 'screens', 'qtdragon_hd', 'my_user_tab.ui')
|
||||
print(f">>> HANDLER: Sprawdzam ścieżkę do pliku UI: {user_tab_ui_file}")
|
||||
|
||||
if not os.path.exists(user_tab_ui_file):
|
||||
print(">>> HANDLER: BŁĄD KRYTYCZNY! Nie znaleziono pliku my_user_tab.ui. Przycisk 'USER' nie zostanie aktywowany.")
|
||||
self.widgets.btn_user.setVisible(False)
|
||||
return
|
||||
|
||||
print(">>> HANDLER: Plik my_user_tab.ui ZOSTAŁ ZNALEZIONY. Próbuję go załadować.")
|
||||
|
||||
# Załaduj zawartość z pliku .ui do nowego widżetu
|
||||
self.user_tab_widget = WidgetBase()
|
||||
self.user_tab_widget.load_ui(user_tab_ui_file)
|
||||
print(">>> HANDLER: Plik UI załadowany pomyślnie do widżetu.")
|
||||
|
||||
# Główne QStackedWidget z oryginalnego UI
|
||||
main_stack = self.widgets.stackedWidget_mainTab
|
||||
user_button = self.widgets.btn_user
|
||||
target_index = user_button.property('index')
|
||||
|
||||
# Wstawiamy nasz nowy widżet
|
||||
main_stack.insertWidget(target_index, self.user_tab_widget)
|
||||
print(f">>> HANDLER: Widżet wstawiony do stackedWidget_mainTab na indeksie {target_index}.")
|
||||
|
||||
# Upewnij się, że przycisk USER jest widoczny
|
||||
user_button.setVisible(True)
|
||||
print(">>> HANDLER: Próba ustawienia przycisku 'btn_user' jako WIDOCZNY.")
|
||||
|
||||
# Znajdź nasz własny przycisk w załadowanym widżecie i połącz jego sygnał
|
||||
my_button = self.user_tab_widget.findChild(QPushButton, 'moj_wlasny_przycisk_1')
|
||||
if my_button:
|
||||
my_button.clicked.connect(self.on_my_custom_button_clicked)
|
||||
print(">>> HANDLER: Znaleziono 'moj_wlasny_przycisk_1' i połączono jego sygnał 'clicked'.")
|
||||
else:
|
||||
print(">>> HANDLER: OSTRZEŻENIE: Nie znaleziono przycisku 'moj_wlasny_przycisk_1' w my_user_tab.ui")
|
||||
|
||||
def on_my_custom_button_clicked(self):
|
||||
current_state = self.my_custom_button_pin.get()
|
||||
self.my_custom_button_pin.set(not current_state)
|
||||
print(f">>> HANDLER: Kliknięto własny przycisk! Nowy stan pinu HAL: {not current_state}")
|
||||
Reference in New Issue
Block a user