Скопировать текст из поля по кнопке в Python
Нужен код для копирования текста из поля lineEdit_1 по кнопке button_copy для Python 3.8 с использованием Qt5
Хочу скопировать в буфер обмена.
Я писал так, но у меня почему-то не копирует:
def skopirovat():
cb = QApplication.clipboard()
cb.clear(mode=cb.Clipboard)
cb.setText(self.ui.lineEdit_1.toPlainText(), mode=cb.Clipboard)
self.ui.button_copy.clicked.connect(skopirovat)
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
import sys
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.lineEdit = QLineEdit()
self.textEdit = QTextEdit()
self.button_copy = QPushButton('button_copy')
self.button_copy.clicked.connect(self.skopirovat)
self.layout = QGridLayout(self)
self.layout.addWidget(self.lineEdit, 1, 0)
self.layout.addWidget(self.button_copy, 2, 0)
self.layout.addWidget(self.textEdit, 0, 1, 4, 1)
def skopirovat(self):
cb = QApplication.clipboard()
cb.clear(mode=cb.Clipboard)
cb.setText(self.lineEdit.text(), mode=cb.Clipboard)
text = QApplication.clipboard().text()
self.textEdit.insertPlainText(f'{text}\n')
if __name__ == "__main__":
app = QApplication(sys.argv)
w = Window()
w.show()
sys.exit(app.exec_())
