我有一个小程序来显示设备和捕获任何数据包,用GUI.I使用QT设计器和Netbeans 6.9来绘制图形用户界面,但问题出现时,当我尝试实现一个信号/slot.Basically当选择组合框时,QlineEdit会显示所选设备的MAC地址。 错误:QT4/C++:没有这样的信号问题
Object::connect: No such signal QComboBox::selectedDev(int) in MainGUI.cpp:21
Object::connect: (sender name: 'comboBox')
Object::connect: (receiver name: 'MYMACBOX')
MainGUI.h
#ifndef _MAINGUI_H
#define _MAINGUI_H
#include "ui_MainGUI.h"
class MainGUI : public QDialog {
Q_OBJECT
public:
MainGUI();
virtual ~MainGUI();
void displayDevices();
void selectedValue();
public slots:
void showmac(int);
signals:
void selectedDev(int);
private:
Ui::MainGUI widget;
};
MainGUI.cpp
#include "MainGUI.h"
#include "pcapCapture.h"
#include <pcap.h>
#include <iostream>
MainGUI::MainGUI() // constructor
{
widget.setupUi(this);
//show devices here
QObject::connect(widget.comboBox,SIGNAL(selectedDev(int)),widget.MYMACBOX,SLOT(showmac(int)));
}
void MainGUI::showmac(int value)
{
//show MAC address here
}
我不知道这里whts的问题,我尝试不同的方法来解决这个问题,但他们不会工作。对于任何明显的错误的原因,我还是QT4(和libpcap)的新手。
感谢您的快速回复!我不知道QcomboBox,Qlineedit有他们自己的一套信号,我想我的selectedDev是多余的。 – user542966 2010-12-15 09:09:16
@ user542966 - 你刚进入Qt的世界,很快所有这些对你来说都会变得很自然。你可以选择一个令人惊叹的框架。祝你的项目好运! – Raphael 2010-12-15 10:12:48