Aplikacje GUI w Pythonie

Aplikacje GUI w Pythonie
JI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
0

Hej, chciałbym się nauczyć tworzyć aplikacje GUI w Pythonie. Zacząłem korzystać z modułu tkinter i wszystko jest OK ale nie podoba mi się jedna rzecz - ustawianie położenia widgetów. Używam zawsze komendy grid ale zastanawiam się czy nie istnieje jakiś sposób żeby móc widgety ustawić w jakimś graficznym okienku i po prostu je sobie poprzesuwać, porozciągać itp. Chyba że można zrobić tak że aplikacje się robi w jednym programie a funkcje do wywołania po wciśnięciu przycisku mogą być osobno napisane w Pythonie i jakoś to się łączy? Jaka jest najlepsza praktyka?

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6964
2

Jeśli wymagasz od GUI czegoś więcej, to najlepiej od razu rób w pyQt.

Tam możesz sobie widgety wyklikać w QtDesignerze i eksportować do Pythona.

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
1

TkInter - zgodzę się - jest do prostych zagadnień, proof of concept. domowych aplikacji na 5 widgetów itd ... (nawet jest wtedy fajny)
Ale nie w dużych projektach ... :(

veneficus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 399
1

pyqt5 lub kivy

JI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
0
Spine napisał(a):

Jeśli wymagasz od GUI czegoś więcej, to najlepiej od razu rób w pyQt.

Tam możesz sobie widgety wyklikać w QtDesignerze i eksportować do Pythona.

A jak wyeksportowałem plik z QtDesignera do Pythona i pododawalem różne funkcje to da się jakoś zmienić położenie widgetów znowu w GtDesignerze tak żeby ten dodany przez mnie kod pozostał?

I jak tak patrze to widzę że są jakies designery do tkinter. Jaka jest zatem główna przewaga wymienionych przez Was modułów nad tkinter?

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Ja osobiście polecam PyQt lub pyside.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6964
0
Jeż i przyjaciele napisał(a):

A jak wyeksportowałem plik z QtDesignera do Pythona i pododawalem różne funkcje to da się jakoś zmienić położenie widgetów znowu w GtDesignerze tak żeby ten dodany przez mnie kod pozostał?

O ile pamiętam, to ja nie modyfikowałem eksportowanego pliku, tylko dla każdego okienka pisałem klasę, która dziedziczy po eksporcie z QtDesignera. Wtedy eksportowane okienko jest odseparowane od kodu, który napiszesz.

veneficus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 399
0

@Jeż i przyjaciele: Tak, da się bazujesz na projekcie w QTdesingerze i na nowo zapisujesz plik i go podmieniasz.

ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
1

Pomysł znad żurku (najzupełniej subiektywny) ...
Gdybym to robił - tu pierwszy element subiektywny, odgadywanie DLACZEGO planujesz Pythona - dla mnie duże projekty GUI to wyłącznie w językach statycznie typowanych ...
wiec - jeśli zgadnę - jeśli pomysł pythona to jakieś obliczenia naukowe, laboratoryjne itd - bym z kernela w C++ WYWOŁYWAŁ "naukowe" fragmenty pythona.

Po drugie bał bym się mostów / importów / kopiowań plikó do/z Qt, to architektonicznie wybitnie "tłuste" środowisko, preprocesory, te sprawy (GTK, Wx, z tych popularnych, są znacznie prostsze)

To jest ten sam C-Python, żadna tam maszyna wirtulana na innej zasadzie / innym silniku
https://docs.python.org/3/extending/embedding.html
Jest to proste, stabilne, i nie ma z tym jakiś kłopotów (używałem). Jak komuś notacja C przeszkadza, to są wrappery w C++

Ale to takie gdybanie w chmurach, bo @Jeż i przyjaciele nie mówisz o motywacjach.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.