Qt 字符串函数定义 小弟菜鸟一枚,求大神指导。

定义了一个类为 xt,变量filename;函数QString getname()

为什么QString xt::getname() { return filename;} 获取不到filename的值呢

qt里有this没,加个this?

不应该的,这么短的一个函数。稍微完整的点代码贴出来··

总共定义了两个类。xt和testdialog。类testdiaolog的lineEdit想要获取类xt的lineEdit的内容。

类xt.
xt.h:
#ifndef XT_H
#define XT_H

#include
#include "ui_xt.h"
#include "qstring.h"

class xt : public QDialog
{
Q_OBJECT

public:
xt(QWidget *parent = 0);
~xt();

public:
QString filename;
QString getname();

private:
Ui::xt ui;
};

#endif // XT_H

xt.cpp:

#include "xt.h"
#include "qdebug.h"
#include "qstring.h"
xt::xt(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
}

QString xt::getname()
{
filename=ui.lineEdit->text();
return filename;

}

xt::~xt()
{

}

testdialog.h:
#ifndef TESTDIALOG_H
#define TESTDIALOG_H

#include
#include "ui_testdialog.h"

class TestDialog : public QDialog
{
Q_OBJECT

public:
TestDialog(QWidget *parent = 0, Qt::WFlags flags = 0);
~TestDialog();

public slots:
    void display();

private:
Ui::TestDialogClass ui;
};

#endif // TESTDIALOG_H

testdiaolog.cpp:

#include "testdialog.h"
#include "xt.h"
#include "qdebug.h"
TestDialog::TestDialog(QWidget *parent, Qt::WFlags flags)
: QDialog(parent, flags)
{
ui.setupUi(this);
connect(ui.pushOK,SIGNAL(clicked()),this,SLOT(display()));
}

void TestDialog::display()
{

xt *tt=new xt();
ui.lineEdit->setText(tt->getname());
}

TestDialog::~TestDialog()
{

}

main:
#include "testdialog.h"
#include "xt.h"
#include

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

TestDialog w;
xt s;
s.show();
w.show();
return a.exec();

}

这是源代码,请各位帮忙看看了,多谢了