定义了一个类为 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();
}
这是源代码,请各位帮忙看看了,多谢了