我该怎么做呢:
例如,标签用户名 = “用户”
我单击一个按钮,然后出现一个要求输入的对话框。我在输入框中输入“名称”,然后单击确定。现在,当我单击对话框上的确定按钮时,如何使标签用户名自动更改为“名称”?
此值转到设置值。我知道如何从设置中加载一个值,但是如果我的标签用户名和我输入“名称”的输入框位于 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);
}