Функция выделения текста в QLineEdit

Как сделать так, чтобы по нажатию на кнопку "Rename" предлагалось изменить текст надписи в окне?


Ответы (1 шт):

Автор решения: S. Nick

Код надо публиковать в теле вопроса. У меня нет доступа к вашему коду, но я вам покажу как это можно реализовать.

void QLineEdit::selectAll()

Выделяет весь текст (т.е. выделяет его) и перемещает курсор в конец.
Это полезно, когда было вставлено значение по умолчанию, потому что, если пользователь введет текст до нажатия на виджет, выделенный текст будет удален.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        
        self.centralWidget = QtWidgets.QWidget()
        self.setCentralWidget(self.centralWidget)
        
        self.lineEdit = QLineEdit('Имя') 
        
        self.pushButton = QPushButton('PushButton_Rename')
        self.pushButton.clicked.connect(self.on_clicked)
        
        
        self.gridLayout = QGridLayout(self.centralWidget)
        self.gridLayout.addWidget(self.lineEdit, 0, 0)
        self.gridLayout.addWidget(self.pushButton, 0, 1)
        
    def on_clicked(self):
        self.lineEdit.selectAll()
        self.lineEdit.setFocus()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec())

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

→ Ссылка