ich habe ein Problem mit der setSelection()-Methode von QLineEdit im Zusammenhang mit Qt.
Ich habe, vereinfacht gesagt, ein Python-Widget mit QVBoxLayout, in das ich zwei QLineEdit-Instanzen packe. Ich möchte gerne einen Teil des Textes im zweiten QLineEdit selektieren, so dass er markiert dargestellt wird. Das scheint in diesem Fall aber nur für den obersten QLineEdit zu funktionieren; sobald ich versuche, etwas in dem zweiten QLineEdit zu selektieren, passiert gar nichts, d.h. der Text wird ganz normal dargestellt (s. Demo unten) Das ganze tritt auf sowohl unter Python2.5 mit Qt 4.3.1 als auch unter Python2.6 mit Qt 4.4.3 (WIN 7/64)
Kennt jemand dieses Problem und hat vielleicht einen Workaround?
Für jede Hilfe dankbar
Wolfgang
Code: Alles auswählen
from PyQt4 import QtGui
class SetSelectionTestDlg(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
layout = QtGui.QVBoxLayout()
topLineEdit = QtGui.QLineEdit("topLineEdit")
bottomLineEdit = QtGui.QLineEdit("bottomLineEdit")
layout.addWidget(topLineEdit)
layout.addWidget(bottomLineEdit)
self.setLayout(layout)
# Das hier funktioniert, solange topLineEdit als
# erstes über addWidget() zu layout hinzugefügt wird
# topLineEdit.setSelection(0, 3)
# Das hier funktioniert nicht, solange bottomLineEdit
# nicht als erstes über addWidget() zu layout hinzugefügt wird
bottomLineEdit.setSelection(0, 3)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
sstd = SetSelectionTestDlg()
result = sstd.exec_()