Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Problem z GUI

Featured Replies

Opublikowano

Cześć.

Ostatnio stworzyłem swoje GUI, pod pewien system informacji o randze, który kiedyś może zaimplementuje.

obraz.png.160881bde56cd39e37012e0e8dc46948.png

Można zrobić to lepiej, chociażby poprzez jakiś button w oknie characterwindow, w miejscu gdzie jest ranga. Ale uczę się, także jest jak jest. Problem jest w tym, że próbuje podpiąć owe gui żeby wyświetlało mi się po wcisnieciu przycisku w panelu bocznym.

Error jaki wyświetla mi się po naciśnięciu klawisza "i" po wejsciu na serwer.

Spoiler

Jest problem z załadowaniem pliku aligninfo.py (Pewnie po prostu nie rozpoznaje wielkich liter, ale mój plik to AlignInfo.py)

 

Plik ui z root, bez żadnej logiki. Chciałem po prostu żeby po kliknieciu buttona otworzylo gui. Może tutaj jest coś co powoduje błąd?

Spoiler

 

W uiinventory wiadomo:

1) self.ranga = uialigninfo.AlignInfoWindow()

2)self.nowyButton12 = self.GetChild2("Button12")

3)self.nowyButton12.SetEvent(ui.__mem_func__(self.Ranga))

4)    def Ranga(self):
        if self.ranga.IsShow():
            self.ranga.Close()
        else:
            self.ranga.Open()

 

Film przedstawiający problem:

 

 

Rozwiązane przez Sevence

Opublikowano

Nazwa samego pliku jeśli chodzi o wielkość liter nie powinna powodować problemu. Specjalistą nie jestem, ale z ostatniego doświadczenia mogę powiedzieć, że możliwy jest błąd w ścieżce w którymś z plików. Tam wielkość liter ma znaczenie. Spróbuj zmienić na UIScript/align.. jeśli to nie pomoże, jak wrócę z pracy dzisiaj przysiade i pomogę jak będę mógł, o ile nie będzie rozwiązane do tego czasu 🙂 .

Opublikowano
  • Rozwiązanie

W klasie, którą przedstawiłeś, nie widzę żadnych poważnych błędów. Jedynie w metodzie Show() możesz sprawdzić, czy okno zostało załadowane. Główny problem dotyczy ładowania skryptu uiscript/aligninfo.py, który masz z dużymi literami. Zaktualizuj nazwę skryptu na małe litery. Jeśli chcesz zachować duże litery w nazwie skryptu, możliwe jest, że packer, którego używasz, konwertuje nazwy wszystkich plików na małe litery, co powoduje ten problem. W uiinventory w momencie wywołania musisz mieć zaimportowany plik align.

 

PythonKod został skopiowany
class AlignInfoWindow(ui.ScriptWindow):    def __init__(self):        ui.ScriptWindow.__init__(self)        self.isLoaded = 0        self.__LoadWindow()     def __del__(self):        ui.ScriptWindow.__del__(self)            def Show(self):        if not self.isLoaded:   #tu możesz sprawdzić czy okno jest już otwarte przed wywołaniem loadwindow            self.__LoadWindow()        ui.ScriptWindow.Show(self)     def Open(self):        self.Show()         def __LoadWindow(self):        if self.isLoaded: # tu warunek można uprościć ten jest równoznaczny z if self.IsLoaded == 1            return                    self.isLoaded = 1        pyScrLoader = ui.PythonScriptLoader()                    pyScrLoader.LoadScriptFile(self, "uiscript/aligninfo.py") #zaktualizuj na małe litery tu oraz w faktycznej nazwie skryptu                    self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))     def Destroy(self):        self.alertDialog = None        self.ClearDictionary()            def Close(self):        if self.alertDialog:            self.OnCloseAlertDialog()        self.Hide()        def OnPressEscapeKey(self):        self.Close()        return TRUE

 

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.