Я искал всюду, но не смог найти пример при запуске слота/события, когда текст вставлен в PyQt4 QLineEdit?PyQt QLineEdit и «вставить» событие?
ответ
Добавьте следующий код в ваш MyForm
класс:
Внутри __init__()
self.ui.lineEdit_URL.textChanged.connect(self.valueChanged)
Определить новый метод:
def valueChanged(self, text):
if QtGui.QApplication.clipboard().text() == text:
self.pasteEvent(text)
Определите другой метод:
def pasteEvent(self, text):
# this is your paste event, whenever any text is pasted in the
# 'lineEdit_URL', this method gets called.
# 'text' is the newly pasted text.
print text
FWIW, мне кажется, что этот 'pasteEvent' будет вызываться всякий раз, когда текст редактирования строки * изменяется * (например, нажатие клавиши). Это совсем не так, как только вызывается, когда текстовые * вставлены *, что я интерпретирую вопрос OP. – joxl
Вы должны внимательно прочитать метод valueChanged. – qurban
Я стою исправлены. Тем не менее, 'pasteEvent' по-прежнему будет вызван, если так получится, что текст виджета точно соответствует буферам обмена. Однако это не обязательно означает, что текст появился там, потому что он был вставлен. Хотя, возможно, это не имеет значения для вашего случая использования. – joxl
Вам необходимо определить его самостоятельно, переопределив «keyPressEvent». Для примера:
from PyQt4 import QtGui, QtCore
import sys
class NoteText(QtGui.QLineEdit):
def __init__(self, parent):
super (NoteText, self).__init__(parent)
def keyPressEvent(self, event):
if event.matches(QtGui.QKeySequence.Paste):
self.setText("Bye")
class Test(QtGui.QWidget):
def __init__(self, parent=None):
super(Test, self).__init__(parent)
le = QtGui.QLineEdit()
nt = NoteText(le)
layout = QtGui.QHBoxLayout()
layout.addWidget(nt)
self.setLayout(layout)
app = QtGui.QApplication(sys.argv)
myWidget = Test()
myWidget.show()
app.exec_()
Я импортировать пользовательский интерфейс из другого файла в качестве 'класса MyForm (QtGui.QMainWindow): Защиту __init __ (я, родитель = None): QtGui.QWidget .__ INIT __ (я, родитель) self.ui = Ui_MainWindow() self.ui.setupUi (самостоятельно) self.threads = [] self.ui.pushButton_Start.clicked.connect (self.thread_start) 'вы можете использовать PLS. напишите приветливый пример для этого? – Stacked
Что-то вроде 'self.ui.lineEdit_URL.textChanged.connect (self.KeyDown) def KeyDown (self, event): # реализовать метод здесь if event.matches (QtGui.QKeySequence.Paste): print 'Вклеенный' ', но это приводит к тому, что объект AttributeError: 'QString' не имеет атрибутов 'matches' ' – Stacked
@Stacked. Пожалуйста, не спам комментариев с кодами. Если у вас есть код, который имеет отношение к вашему вопросу, добавьте его к самому вопросу. – ekhumoro
- 1. Как вставить текст в QLineEdit в PyQt?
- 2. PyQt ошибка с QLineEdit
- 3. PyQt QLineEdit с историей
- 4. PyQt: получение значений из QLineEdit
- 5. Python PyQT QLineEdit размер шрифта
- 6. onmouseover и событие click QLineEdit
- 7. Событие QLineEdit Focus
- 8. QLineEdit - фокус событие
- 9. Событие PyQt Drop без подкласса?
- 10. Python PyQt QLineEdit для поиска bar
- 11. PyQt Autocomplete QlineEdit не отображает элементы списка
- 12. Назначить строку QLineEdit с помощью PySide/PyQt
- 13. PyQt - Auto Completer с QLineEdit несколько раз
- 14. Pyqt 5 как сделать QLineEdit clickable
- 15. PyQt: маска ввода QLineEdit для шестнадцатеричного
- 16. Событие Pyqt Wheel
- 17. Как ограничить ввод пользователя в QLineEdit в pyqt
- 18. pyqt - активировать QCompleter после определенного количества букв в QLineEdit
- 19. PyQt Невозможно получить текст из QLineEdit, используя текст()
- 20. PyQt 4. Я не могу удалить содержимое QLineEdit() - object
- 21. Как добавить событие мыши в QLineEdit
- 22. Связать событие «введите» QLineEdit в слот?
- 23. Использовать QlineEdit для udpate базы данных SQLite в PyQt
- 24. PyQt - Ошибка при установке фона QLineEdit из изображения
- 25. PyQt QLineEdit получить значение из отдельного .py-файла
- 26. QPaintEvent отключает QLineEdit при рисовании на stackedWidget - PyQt
- 27. Python/PyQT: как я могу усечь текст в QLineEdit
- 28. нагрузка PyQt приложений полное событие
- 29. Некоторые вопросы QLineEdit
- 30. PyQt QTextEdit: Обнаружение изменений событие
В Qt отсутствует сигнал или событие пасты. Вы можете использовать сигнал 'textChanged' и проверить, совпадает ли новый контент с содержимым буфера обмена, используя класс' QClipboard'. –