• 4758阅读
  • 5回复

QT4里方法的问题.. [复制链接]

上一主题 下一主题
离线soundbbg
 

只看楼主 倒序阅读 楼主  发表于: 2008-05-22
— 本帖被 XChinux 执行加亮操作(2008-05-22) —
int MyWindow::OnTextType()
{
QObject::connect(textEdit, SIGNAL(textChanged()), lineEdit, SLOT(getLength()));
return 1;
}

int MyWindow::getLength()
{
lineEdit->setText("abc");
return 1;
}

这是我的代码 可以运行 但是他会提示说

Object::connect: No such slot MyWindow::getLength()

就是说没有这个slot咯..而且不知道怎么自定义slot 我只是想在编写一段文本的同时同时也能统计字数并输入到lineEdit里

希望帮忙了 谢谢
离线mumutouv

只看该作者 1楼 发表于: 2008-05-22
改成:
int MyWindow::OnTextType()
{
QObject::connect(textEdit, SIGNAL(textChanged()), this, SLOT(getLength()));
return 1;
}
离线mumutouv

只看该作者 2楼 发表于: 2008-05-22
in MyWindow.h file

please use


public slots:
    int getLength();
离线soundbbg

只看该作者 3楼 发表于: 2008-05-22
引用第1楼mumutouv于2008-05-22 20:34发表的  :
改成:
int MyWindow::OnTextType()
{
QObject::connect(textEdit, SIGNAL(textChanged()), this, SLOT(getLength()));
return 1;
.......


不行的 我测试过了
离线soundbbg

只看该作者 4楼 发表于: 2008-05-22
引用第2楼mumutouv于2008-05-22 20:36发表的  :
in MyWindow.h file
please use
.......


原来可以自定义slots方法..
不过说回来
QObject::connect(textEdit, SIGNAL(textChanged()), this, SLOT(getLength()));
这里的目标为什么是this而不是lineedit呢
离线mumutouv

只看该作者 5楼 发表于: 2008-05-23
你的getLength这个函数是什么类的函数就知道了,你在 MyWindow里面定义,当然是this了
快速回复
限100 字节
 
上一个 下一个