def createEditor(self, parent, styleOption, index):
if index.column() == 1:
editor = QDateTimeEdit(parent)
editor.setDisplayFormat(self.parent().currentDateFormat)
editor.setCalendarPopup(True)
return editor
editor = QLineEdit(parent)
# create a completer with the strings in the column as model
allStrings = []
for i in range(1, index.model().rowCount()):
strItem = index.model().data(index.sibling(i, index.column()), Qt.EditRole)
if strItem not in allStrings:
allStrings.append(strItem)
autoComplete = QCompleter(allStrings)
editor.setCompleter(autoComplete)
editor.editingFinished.connect(self.commitAndCloseEditor)
return editor
python类QCompleter()的实例源码
def createEditor(self, parent, styleOption, index):
if index.column() == 1:
editor = QDateTimeEdit(parent)
editor.setDisplayFormat(self.parent().currentDateFormat)
editor.setCalendarPopup(True)
return editor
editor = QLineEdit(parent)
# create a completer with the strings in the column as model
allStrings = []
for i in range(1, index.model().rowCount()):
strItem = index.model().data(index.sibling(i, index.column()), Qt.EditRole)
if strItem not in allStrings:
allStrings.append(strItem)
autoComplete = QCompleter(allStrings)
editor.setCompleter(autoComplete)
editor.editingFinished.connect(self.commitAndCloseEditor)
return editor
def init_widget(self):
"""
?? ??? ???? ???
"""
self.setWindowTitle("QLineEdit Widget")
form_lbx = QBoxLayout(QBoxLayout.TopToBottom, parent=self)
self.setLayout(form_lbx)
lb = QLabel()
le = QLineEdit()
model = QStringListModel()
model.setStringList(["Hello", "Hi", "Bye", "Good", "Seoul"])
completer = QCompleter()
completer.setModel(model)
le.setCompleter(completer)
le.textChanged.connect(lb.setText)
form_lbx.addWidget(lb)
form_lbx.addWidget(le)
def __init__(self, filename="", parent=None):
super().__init__(parent)
self.ui = Ui_DialogCSVImport()
self.ui.setupUi(self)
self.setAttribute(Qt.WA_DeleteOnClose)
self.ui.btnAutoDefault.hide()
completer = QCompleter()
completer.setModel(QDirModel(completer))
self.ui.lineEditFilename.setCompleter(completer)
self.filename = None # type: str
self.ui.lineEditFilename.setText(filename)
self.update_file()
self.ui.tableWidgetPreview.setColumnHidden(self.COLUMNS["T"], True)
self.update_preview()
self.create_connects()
def createEditor(self, parent, styleOption, index):
if index.column() == 1:
editor = QDateTimeEdit(parent)
editor.setDisplayFormat(self.parent().currentDateFormat)
editor.setCalendarPopup(True)
return editor
editor = QLineEdit(parent)
# create a completer with the strings in the column as model
allStrings = []
for i in range(1, index.model().rowCount()):
strItem = index.model().data(index.sibling(i, index.column()), Qt.EditRole)
if strItem not in allStrings:
allStrings.append(strItem)
autoComplete = QCompleter(allStrings)
editor.setCompleter(autoComplete)
editor.editingFinished.connect(self.commitAndCloseEditor)
return editor
def __init__(self, parent, default=None):
super(PathItem, self).__init__(parent)
self.on_remove = lambda _: None
self.on_path_changed = lambda *_: None
self._remove_button = make_icon_button('remove', 'Remove this path', self,
on_clicked=lambda: self.on_remove(self))
completer = QCompleter(self)
completer.setModel(QDirModel(completer))
self._path_bar = CommitableComboBoxWithHistory(self)
if default:
self._path_bar.setCurrentText(default)
self._path_bar.setCompleter(completer)
self._path_bar.setAcceptDrops(True)
self._path_bar.setToolTip('Lookup path for file services; should point either to a file or to a directory')
self._path_bar.currentTextChanged.connect(self._on_path_changed)
self._select_file_button = make_icon_button('file-o', 'Specify file path', self,
on_clicked=self._on_select_path_file)
self._select_dir_button = make_icon_button('folder-open-o', 'Specify directory path', self,
on_clicked=self._on_select_path_directory)
self._hit_count_label = LabelWithIcon(get_icon('upload'), '0', self)
self._hit_count_label.setToolTip('Hit count')
layout = QHBoxLayout(self)
layout.setContentsMargins(0, 0, 0, 0)
layout.addWidget(self._remove_button)
layout.addWidget(self._path_bar, 1)
layout.addWidget(self._select_file_button)
layout.addWidget(self._select_dir_button)
layout.addWidget(self._hit_count_label)
self.setLayout(layout)
def __init__(self, parent=None):
super().__init__(parent)
self.completer = QtWidgets.QCompleter(sorted(api.mail.COMPLETION_FIELD.keys()), self)
self.completer.activated.connect(self.insert_completion)
self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
self.completer.setModelSorting(QtWidgets.QCompleter.CaseSensitivelySortedModel)
def __init__(self, project_manager, noise,
center, bit_length, tolerance, modulation_type_index, encodings, encoding_index=0,
parent=None, testing_mode=False):
super().__init__(project_manager, is_tx=False, parent=parent, testing_mode=testing_mode)
self.set_sniff_ui_items_visible(True)
self.graphics_view = self.ui.graphicsView_sniff_Preview
self.ui.stackedWidget.setCurrentWidget(self.ui.page_sniff)
self.hide_send_ui_items()
self.hide_receive_ui_items()
self.ui.sliderYscale.hide()
self.ui.label_y_scale.hide()
self.ui.spinbox_sniff_Noise.setValue(noise)
self.ui.spinbox_sniff_Center.setValue(center)
self.ui.spinbox_sniff_BitLen.setValue(bit_length)
self.ui.spinbox_sniff_ErrorTolerance.setValue(tolerance)
self.ui.combox_sniff_Modulation.setCurrentIndex(modulation_type_index)
self.sniffer = ProtocolSniffer(bit_length, center, noise, tolerance,
modulation_type_index, self.ui.cbDevice.currentText(), self.backend_handler)
# set really in on_device_started
self.scene_manager = None # type: LiveSceneManager
self.init_device()
self.set_bandwidth_status()
self.graphics_view.setScene(self.scene_manager.scene)
self.graphics_view.scene_manager = self.scene_manager
# Auto Complete like a Boss
completer = QCompleter()
completer.setModel(QDirModel(completer))
self.ui.lineEdit_sniff_OutputFile.setCompleter(completer)
self.setWindowTitle(self.tr("Sniff Protocol"))
self.setWindowIcon(QIcon.fromTheme(":/icons/icons/sniffer.svg"))
self.encodings = encodings
for encoding in self.encodings:
self.ui.comboBox_sniff_encoding.addItem(encoding.name)
self.create_connects()
if encoding_index > -1:
self.ui.comboBox_sniff_encoding.setCurrentIndex(encoding_index)
self.ui.comboBox_sniff_viewtype.setCurrentIndex(constants.SETTINGS.value('default_view', 0, int))