Qt - 对话框关闭时更改“行编辑”的值

Qt - Change value of LineEdit when Dialog Box closes

本文关键字:编辑 行编辑 的值 对话框 Qt      更新时间:2023-10-16

我该怎么做:

例如,标签用户名 ="用户"

我单击一个按钮,出现一个对话框,要求输入。我在输入框中输入"名称",然后单击确定。现在如何使标签用户名在单击对话框上的确定按钮时自动更改为"名称"?

此值转到"设置"值。我知道如何从设置中加载值,但是如果我的标签用户名和我在其中输入"name"的输入框属于 2 个不同的类,我该如何导致更改?请帮忙。

您需要使用信号和插槽。在你拥有这个QLineEdit的课堂上,你必须声明这样的信号

class SomeClass : public QDialog     //or other inheritance
{
    /* constructors, functions and other stuff */
    signals:
         void valueChanged(const QString&);        //in QString you will send new value
}

有人点击"确定"按钮后,您必须发出以下信号:

emit valueChanged(myQLineEdit->text());

在调用 SomeClass 的类中,您必须将此信号连接到您将在其中更改标签值的插槽,例如:

void MainWindow::someMethod()
{
    SomeClass *class = new SomeClass;
    connect(class, SIGNAL(valueChanged(QString)), this, SLOT(changeValue(QString)));
    /* set other parameters, show window*/
}
void MainWindow::changeValue(const QString &newText)
{
    myQLabel->setText(newText);
}