我是QT新手,试图创建一个自定义信号,告诉我一个可移动磁盘已被插入。 这是我做过什么无法连接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:
顺便问一下,有什么方法可以调试信号?
即我如何确保发出信号?
虚拟性与它无关。 – 2010-12-16 17:53:01