2013-04-16 13 views
9

Sto provando a scrivere un widget personalizzato per Qt Designer utilizzando solo Python. Stavo seguendo un paio di tutorial che ho trovato online ma nessuno di loro funzionava o qualcosa di simile a quello che chiamerei per essere un esempio minimo di lavoro.Widget Qt personalizzati con python per Qt Designer

Quindi le mie domande sono:

  1. Quali passi sono coinvolti per fare un un widget personalizzato visualizzato nella casella Widget di Qt Designer?
  2. Se è possibile risparmiare tempo: Si prega di fornire un esempio di lavoro minimo (come un widget con un'etichetta in esso che dice "Un esempio di widget Qt personalizzato veramente minimale").
  3. O forse non è possibile includere un widget personalizzato usando solo python?

risposta

1

Ho trovato questo articolo per essere la risposta: https://doc.qt.io/archives/qq/qq26-pyqtdesigner.html

Ma, non sono stato in grado di installarlo in Qt Designer però: D

+1

Bello, attualmente sto lavorando con Qt più. Ma questo sicuramente risponde alla mia domanda! Thx per questa risposta tardiva! – Woltan

+0

Ottimo! Solo in grado di installarlo in Qt Designer: assicurati di aggiungere il tuo percorso al widget personalizzato nelle variabili di ambiente PYTHONPATH e PYQTDESIGNERPATH. E, penso che dobbiamo usare il Qt designer fornito da PyQt. Lo collaudo con Qt Designer dalla distribuzione Qt C++ e non visualizzerà il mio widget qt python personalizzato. – swdev

+0

Il tuo link è rotto, a dimostrazione del perché devi sempre riassumere il contenuto di un link e includerlo per riferimento. – MattDMo

3

Esistono pochissimi esempi su come creare un widget personalizzato in pyqt. Ho scritto questo articolo con un esempio di lavoro: Making a Custom Widget in PyQt

+0

Grazie per questo post, ma purtroppo questo ** non ** risponde alla mia domanda. Sto cercando un widget personalizzato che viene visualizzato nel designer stesso senza la necessità di aggiungerlo "manualmente" all'interno di un codice. – Woltan

+0

puoi elaborare insieme ad un esempio, nella tua domanda hai detto "come far apparire un widget personalizzato in un'altra finestra di widget", e questo è quello che il post che ho scritto per te sul mio blog, comunque, elabora il tuo problema con un esempio , cercherà di aiutarti. – scottydelta

+0

Sto parlando del Widget Box del Designer Qt ([link] (http://doc.crossplatform.ru/qt/4.3.2/images/designer-widget-box.png)). La casella Widget elenca tutti i widget più comuni come pulsanti, elenchi, ecc. Voglio che il mio widget personalizzato venga visualizzato in quella casella in modo da poter aggiungere e lavorare con il mio widget personalizzato in Qt Designer. – Woltan

1

Ecco la risposta alla tua domanda # 3: How do I use promote to in Qt Designer in pyqt4?

sto usando PySide e funziona allo stesso modo. Questo metodo funziona direttamente con il codice del tuo widget personalizzato Python. Non è necessario scrivere alcun codice plugin separato.

Dopo aver promosso il tuo widget personalizzato, è possibile fare clic destro su di esso e aggiungere i segnali con "Change segnali/slot ..."

Suggerirei di mettere tutti voi i widget in un file YourCostumWidgetsPack.UI, e poi quando carichi questo file in Qt Designer, oltre all'interfaccia utente che stai lavorando. Caricherà tutte le informazioni del widget personalizzato.

Problemi correlati