Скопировать текст из поля по кнопке в 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_())

введите сюда описание изображения

→ Ссылка