如何在Slot声明中编辑使用QTCreator制作的控件的属性?

时间:2011-06-24 10:35:09

标签: qt qt-creator

我使用QTCreator制作了一个表格。然后我在类构造函数中更改它的一些属性,如

ui->cancelButton->hide();

有效。现在我在头文件&中声明了一个自定义插槽。试图在类文件(即.cpp)中的Slot实现中使用控件的属性,如

oldName = lineEDit->text();

但我收到错误消息

error: 'LineEdit' was not declared in this scope      

然后我尝试了

oldName = ui->nameLine->text();

但它给出了同样的错误。当我使用Designer创建UI时,如何在Slots声明或其他函数中使用控件的属性?

编辑:SLOT SOURCE

void addressbook::addContact()
 {
     oldName    = ui->nameLine->text();  //nameLine->text();
     oldAddress = ui->addressText->toPlainText(); //addressText->toPlainText();

     nameLine->clear();
     addressText->clear();

     updateInterface(AddingMode);
 }

1 个答案:

答案 0 :(得分:0)

如果您创建类Test,它将生成4个文件:

    1) test.h - your class header 
    2) test.cpp - your implementation
    3) test.ui - form descriptor
    4) ui_test.h - file generated from form descriptor,
 containing cpp code to create it.

test_ui.h里面有一个类声明,其成员集包含您在表单上放置的对象的类型和名称。 Ui::TestClass

您的主要课程将其作为私人会员

private:
    Ui::TestClass ui;

因此,如果您想要表单元素,请将其作为ui-> ObjectNameFromForm

并且 - 看看你的ui_ * .h类,它是正常的cpp代码,在研究它们之后你可以更清楚地了解表单是如何工作的。