2013-04-16 14 views
9

Próbuję napisać niestandardowy widget dla Qt Designer za pomocą tylko Python. Śledziłem kilka tutoriali, które znalazłem w Internecie, ale żaden z nich nie działał ani nic podobnego do tego, co nazwałbym minimalnym przykładem pracy.Niestandardowe widżety Qt z pythonem dla Qt Designer

Więc moje pytania to:

  1. Jakie kroki są zaangażowane strony do podjęcia niestandardowych widżet wyświetlane w widgecie Pudełko Qt Designer?
  2. Jeśli możesz zaoszczędzić czas: Podaj minimalny przykład pracy (np. Widget z etykietą w tytule "Naprawdę minimalnie działający przykład niestandardowego widgetu Qt").
  3. A może w ogóle nie można włączyć niestandardowego widgetu używając tylko Pythona?

Odpowiedz

1

znalazłem ten artykuł, aby być odpowiedź: https://doc.qt.io/archives/qq/qq26-pyqtdesigner.html

Ale nie udało się go zainstalować w Qt Designer chociaż: D

+1

Dobrze, obecnie pracuję już z Qt. Ale to zdecydowanie odpowiada na moje pytanie! Thx za tę spóźnioną odpowiedź! – Woltan

+0

Świetnie! Po prostu można go zainstalować w Qt Designer: wystarczy dodać ścieżkę do niestandardowego widgetu do zmiennych środowiskowych PYTHONPATH i PYQTDESIGNERPATH. I myślę, że musimy użyć projektanta Qt dostarczonego przez PyQt. Testuję go za pomocą Qt Designer z dystrybucji Qt C++ i nie wyświetla mojego niestandardowego widgetu python qt. – swdev

+0

Twój link jest zepsuty, co ilustruje, dlaczego powinieneś zawsze podsumowywać zawartość linku i zamieszczać go w celach informacyjnych. – MattDMo

3

Istnieje bardzo niewiele przykładów na temat tworzenia niestandardowego widgetu w pyqt. Napisałem ten artykuł z przykładu pracy: Making a Custom Widget in PyQt

+0

Dziękuję za ten wpis, ale niestety to ** nie ** odpowiedzieć na moje pytanie. Jestem po niestandardowym widżecie, który jest wyświetlany w samym projektancie bez potrzeby dodawania go "ręcznie" w ramach jakiegoś kodu. – Woltan

+0

możesz rozwinąć wraz z przykładem, w swoim pytaniu powiedziałeś "jak uczynić widżet niestandardowy w innym polu widżetu", a to, co napisałem dla ciebie na moim blogu, w każdym razie, rozwiąż swój problem na przykładzie , spróbuję ci pomóc. – scottydelta

+0

Mam na myśli pole widżetów projektanta Qt ([link] (http://doc.crossplatform.ru/qt/4.3.2/images/designer-widget-box.png)). Widget Box zawiera listę wszystkich popularnych widgetów, takich jak przyciski, listy itp. Chcę, aby mój niestandardowy widget był wyświetlany w tym polu, dzięki czemu mogę dodawać i pracować z moim niestandardowym widgetem w Qt Designer. – Woltan

1

Oto odpowiedź na twoje pytanie # 3: How do I use promote to in Qt Designer in pyqt4?

Używam PySide i działa w ten sam sposób. Ta metoda działa bezpośrednio z niestandardowym kodem widgetu Python. Nie musisz pisać żadnego oddzielnego kodu wtyczki.

Po promował swój własny widget, można kliknąć prawym przyciskiem myszy na nim i dodać sygnały z „zmiana sygnałów/slotów ...”

Polecam umieszczenie wszystkich was widżety w pliku YourCostumWidgetsPack.UI, a następnie, po załadowaniu tego pliku w Qt Designer, oprócz interfejsu użytkownika, który pracujesz. Spowoduje to załadowanie wszystkich Twoich niestandardowych informacji o widżecie.