2016-12-02 2 views
0

Ich habe ein Tablewidget mit 10 Spalten. Einige von ihnen sind Preise und ich möchte die Summe jeder dieser numerischen Spalten über dem Tablewidget in Doppelspinbox-Feldern erhalten. Es wäre einfacher, sie in eine neue (und letzte) Zeile im Tablewidget-Bit zu bekommen, ich müsste am Ende des Tablewidgets nach unten scrollen. Es wäre sehr schwierig sie in der ersten Zeile des Tablewidgets zu finden. Das Problem ist, dass die Withd der Spalten von der Länge des Textes (wie das Feld 'Produktbeschreibung' zum Beispiel) abhängig sind, da ich ein 'resizeToContents' ausstrahle, nachdem ich das tablewidget erfüllt habe. Wenn sich die Breite der Spalten ändert, befinden sich die Felder der Doppelspindel nicht mehr über den numerischen Feldern. Hat jemand eine Idee, wie ich das lösen kann?Qt Python Position Widget dynamisch anpassen

+0

Warum ein Doppel Spinnbox tun? Möchten Sie die Summe jeder Spalte irgendwie anpassen? Warum nicht ein einfaches Etikett? – Trilarion

+0

Was Sie zu fragen scheinen, ist eine gefrorene Reihe/Spalte. Die Qt-Dokumente haben ein [Beispiel für Spalten] (http://doc.qt.io/qt-4.8/qt-itemviews-frozencolumn-example.html), und derselbe Ansatz könnte für Zeilen verwendet werden. Grundsätzlich werden zwei Tabellen miteinander verklebt und mit verschiedenen Signalen synchronisiert. Wenn Sie eine Websuche nach 'qt table frozen row 'durchführen, sollten Sie einige andere Beispiele finden. – ekhumoro

Antwort

0

Nun ... Ich bin mir nicht ganz sicher, was Sie fragen, aber in der Lage, wenn ist, um die Breite der Spalten manuell zu ändern, können Sie

table.setColumnWidth(TARGET_IDX, SIZE) 
+0

Vielen Dank Was ich tun möchte, ist die Doppelspinbox Felder nach der Position der relevanten numerischen Spalten des Tablewidget nach einem resizeToContents verschieben – Grumeau