小编Sha*_*dor的帖子

QlineEdit selectAll 不起作用?

我使用以下代码。在它的lineEdit->selectAll()工作中由pushButton调用,并且在第一次启动时由eventFilter. 尽管label->setText始终正常工作。为什么?

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lineEdit->installEventFilter(this);
}

void Widget::on_pushButton_clicked()
{
    ui->lineEdit->selectAll();
}

bool Widget::eventFilter(QObject *object, QEvent *event)
{
    if (object == ui->lineEdit && event->type() == QEvent::FocusIn )
    {
        ui->lineEdit->selectAll();
        ui->label->setText("Focused!");
        return false;
    }
    if (object == ui->lineEdit && event->type() == QEvent::FocusOut )
    {
        ui->label->setText("unFucused!");
        return false;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

UPD:按照伊利亚的建议做了。仍然有同样的问题。

void myLine::focusInEvent(QFocusEvent* event)
{
    setText("Focused!");
    selectAll();
}

void myLine::focusOutEvent(QFocusEvent* event)
{
    setText("UnFocused!");
}
Run Code Online (Sandbox Code Playgroud)

qt selectall qlineedit

3
推荐指数
1
解决办法
3443
查看次数

标签 统计

qlineedit ×1

qt ×1

selectall ×1