У меня проблема с QComboBox, не позволяющим мне изменить редактирование
текст к чему-либо существующему предмету другого регистра.
Пример кода приведен ниже. Что я хотел бы сделать, это ввести «один» в комбо
коробка, уже содержащая элемент «Один» без побочного эффекта
текст меняется на «Один». В настоящее время он заменен на «Один» как
как только поле со списком теряет фокус.
Отключение AutoCompletionCaseSensitivity работает, но имеет свою сторону
эффект бесполезности (например, не показывает завершения для «один»).
Я также попытался переопределить focusOutEvent QComboBox и
восстановить правильный текст, но такие вещи, как копирование-вставка не
Работа. Смена завершителя тоже не помогла.
Факт, что поля со списком ведут себя таким образом, вреден для моего приложения. Если
У кого-нибудь есть идеи (или я что-то упустил очевидное), пожалуйста, дайте мне
знать.
Я использую Qt 4.6.2 и PyQt 4.7.2 в Ubuntu 10.04, но имею
испытал это на других версиях дистрибутива / Qt выше 4.5.
Спасибо и всего наилучшего
Пример кода:
from PyQt4.QtGui import *
from PyQt4.QtCore import SIGNAL, Qt
class Widget(QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
combo = QComboBox()
combo.setEditable(True)
combo.addItems(['One', 'Two', 'Three'])
lineedit = QLineEdit()
layout = QVBoxLayout()
layout.addWidget(combo)
layout.addWidget(lineedit)
self.setLayout(layout)
app = QApplication([])
widget = Widget()
widget.show()
app.exec_()