我的代码很简单:
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)
{
lineEdit = new QLineEdit();
label = new QLabel("");
connect(lineEdit, SIGNAL(textChanged(QString)), label, SLOT(setText(QString)));
ui->setupUi(this);
}
我编译了它,没有错误或警告。
但是当我运行它时,UI 是这样的:
为什么 QLabel
的默认文本是 TextLabel
?
最佳答案
您应该阅读 Qt 文档中的一些教程。您将 QtDesigner ui 与手动小部件创建混合在一起。标签上的默认文本来自您的 ui 文件。此外,当您使用 ui 文件时,您不需要创建标签/行编辑。直接从 ui 类中获取它们。所以如果你想让你的 ui 文件恢复正常,那么你可以做这样的事情:
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
connect(ui->lineEdit, SIGNAL(textChanged(QString)), ui->label, SLOT(setText(QString)));
}
还可以通过双击 Qt Designer 更改标签中的文本。
关于c++ - Qt QLabel 默认文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12319944/