gpt4 book ai didi

c++ - Qt - 在对话框关闭时更改 LineEdit 的值

转载 作者:行者123 更新时间:2023-11-30 02:59:59 39 4
gpt4 key购买 nike

我该怎么做:

例如标签username = "user"

我单击一个按钮,然后出现一个要求输入的对话框。我在输入框中输入“名称”,然后单击确定。现在我该怎么做才能让标签用户名在我单击对话框上的确定按钮时自动更改为“名称”?

此值转到设置值。我知道如何从设置中加载一个值,但是如果我的标签用户名和我输入“名称”的输入框在 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);
}

关于c++ - Qt - 在对话框关闭时更改 LineEdit 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12440321/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com