• 5150阅读
  • 2回复

请教高手????????????? [复制链接]

上一主题 下一主题
离线met2000
 
只看楼主 倒序阅读 楼主  发表于: 2009-02-12
我写了这样一个简单的程序:点击按钮让lineedit显示字符。我把按钮链接到自己写的槽时实现不了显示字符的功能,但我把按钮连接到close()时却能成功关闭窗口。为什么呢?请教各位高手!我用的版本是(qt4.3.4,在winXP 下用VC6编译成功)
代码如下:

#include "QApplication"
#include "QWidget"
#include "ui_form.h"
#include "form.h"

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

    Form form ;

    form.show();

    return app.exec();
}

#include "ui_form.h"
#include "QWidget"

class QPushButton;

class QLineEdit;


class Form : public QWidget,public Ui_Form
{
  Q_OBJECT

  public:

  Form(QWidget *parent = 0);

  public slots:

  void on_lineEdit_list();

  public:

  Ui::Form ui;

};

Form::Form(QWidget *parent)
    :QWidget(parent)
{

  ui.setupUi(this);

  connect(ui.okButton,SIGNAL(clicked()),ui.lineEdit,SLOT(on_lineEdit_list()));

 
}

void Form::on_lineEdit_list()
{
    ui.lineEdit->setText("hello!");
}
离线浪漫天使
只看该作者 1楼 发表于: 2009-02-12
connect(ui.okButton,SIGNAL(clicked()),ui.lineEdit,SLOT(on_lineEdit_list()));
这里错了
on_lineEdit_list槽函数是Form的,而不是ui.lineEdit的
也就是说
ui.lineEdit根本就没有on_lineEdit_list这个槽
而你connect时候的却用了ui.lineEdit
把connect里面的ui.lineEdit改成this 就可以了。
离线met2000
只看该作者 2楼 发表于: 2009-02-13
十分感谢!
快速回复
限100 字节
 
上一个 下一个