【发布时间】:2010-12-16 16:48:54
【问题描述】:
我是 QT 的新手,正在尝试创建一个自定义信号,告诉我已插入可移动磁盘。 这就是我所做的
MainWindow.h
class MainWindow
{
QOBJECT
..
..
signals:
void qm_diskInserted(QString &);
public slots:
void addItemToList(QString &);
...
}
MainWindow.cpp
void MainWindow::onDeviceChange(MSG * msg)
{
//code for detecting device here
QString &driveLetter= getDriveLetter(mask);
//try to emit QT signal here
emit qm_diskInserted(driveLetter);
}
MainWindow::MainWindow(QWidget * parent=NULL)
{
ui.setupUi(this);
QObject::connect(this, SIGNAL(qm_diskInserted(QString&)), this, SLOT(addItemToList(QString &));
}
void MainWindow::addItemToList(QString &)
{
//more stuff here
}
不知何故,插槽 addItemToList() 没有被调用,我必须手动调用它。
我做错了什么?
谢谢。 PS:
顺便问一下,有没有调试信号的方法?
即如何确定发出信号?
【问题讨论】:
标签: c++ qt4 signals-slots