自定义信号代码
class MyTreeView : public QWidget
{
Q_OBJECT;
......
signals:
void dir_change();
};
发出自定义信号的代码
void MyTreeView::choose(QModelIndex)
{
QModelIndex index = treeView->currentIndex();
if (!index.isValid()) {
return;
}
chosen_dir=model->filePath(index);
show_dir=chosen_dir;
emit dir_change();
}
调试的时候,emit dir_change()的确已经运行了
另一个类的接受信号的代码
File_Sort::File_Sort(QWidget *parent)
: QDialog(parent)
{
.......
Tr_dir=new MyTreeView;
connect(Tr_dir,SIGNAL(dir_change()),this,SLOT(dir_change(QString)));
}
信号槽函数dir_change(QString)
void File_Sort::dir_change(QString)
{
Le_dir->clear();
Le_dir->setText(Tr_dir->show_dir);
}
编译成功,但调试的时候,该信号槽函数并没有被调用,也就是说信号接受不成功?
求助,如何解决该问题,希望大家来看看