PyQt und: wie geht man mit auto-resize-widgets, wenn sich Ihr Inhalt ändert

Ich habe einige Probleme mit der Größe der qt4-widgets, wenn sich Ihr Inhalt ändert.

Werde ich veranschaulichen meine Probleme mit zwei einfachen Szenarien:

Szenario 1:

Habe ich ein QLineEdit-widget. Manchmal, wenn ich eine änderung seiner Inhalte mit QLineEdit.setText(), the one-line-string passt nicht in das widget in der aktuellen Größe nicht mehr. Ich muss wählen Sie das widget aus und verwenden Sie die Pfeiltasten zum scrollen der string in beide Richtungen, um alles zu sehen.

Szenario 2:

Habe ich ein QTextEdit widget. Manchmal, wenn ich bin, ändert es seine Inhalte mithilfe von QTextEdit.setHtml(), die den gerenderten HTML-Inhalt passt nicht in das widget in der aktuellen Größe nicht mehr. Das widget startet die Anzeige der horizontalen und/oder vertikalen scroll-Balken und ich kann Sie nutzen, um das scrollen der HTML-Inhalte.

Ich würde in solchen Szenarien ist eine gewisse Logik, die entscheidet, wenn nach einem Inhalt ändern, werden die neuen Inhalte passen nicht mehr in das widget und die automatische Erhöhung der widget-Größe, so dass alles passen würde.

Wie sind diese Szenarien behandelt?
Ich bin mit PyQt4.

Edit: nach dem Lesen sowohl den Kommentar und die erste Antwort (die erwähnt Eingabe von Inhalt in das widget), ging ich über die Frage noch ein mal. Ich war unangenehm überrascht zu erfahren, eine schreckliche Tippfehler. Ich meinte QTextBrowser als ich schrieb, QTextEdit, ich entschuldige mich für irreführend. Das heißt: ich habe ein widget rendert HTML-code, die ich ändern bin, und ich würde wollen, das widget, um zu wachsen genug, um Anzeige alles ohne Scrollbalken.

Als für QLineEdit statt QLabel - ich ging für QLineEdit da ich gemerkt habe ich kann nicht wählen Sie text aus einem QLabel mit der Maus zu kopieren. Mit QLineEdit ist es möglich.

Wollte nur lassen Sie wissen, Ihre Frage wurde nicht übersehen... ich habe darüber nachgedacht, ihn ein-und ausschalten für den vergangenen Tag, aber ich kann nicht denken, eine einfache Möglichkeit zu tun, was Sie gefragt haben. Es ist einfach nicht das, was die Elemente, die Sie verwenden, sind für entworfen. Sie sind entry-widgets, und soll es ermöglichen, mehr Daten eingegeben werden als bequem auf den Bildschirm passen. Wenn Sie wirklich wollen, Größenänderung, um die aktuellen Elemente, die versuchen den ausbau QLabels innerhalb eines Layouts.

InformationsquelleAutor | 2009-07-20

Schreibe einen Kommentar