singal 與 slot 小問題 [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



singal 與 slot 小問題
會員一級
註冊日期:
2013/2/21 22:46
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 28
MP : 3 / 543
EXP: 12
離線
各位前輩大家好 小弟剛接觸QT不久 遇到了些小困難 希望各位前輩幫小弟解答

Object::connect: No such slot FTP_Widget::onInfoReceive(FTP_Thread::INFO *)
Object::connect: (receiver name: 'FTP_Widget')

以下是我的程式碼
----------------------------------------------------------

ftp_thread.h
....
class FTP_Thread : public QThread
{
Q_OBJECT

public:
explicit FTP_Thread(QObject *parent = 0);

struct info
{
char time[16];

char source_ip[16];
char destination_ip[16];

char client_port[6];
char stage[16];
char cmd[100];

struct info *ptr;
}INFO;
...
singals:
void InfoReceive(FTP_Thread::info *);

----------------------------------------------------------

ftp_thread.cpp
....
emit InfoReceive(INFO.ptr);
....

----------------------------------------------------------

ftp_widget.h
....
namespace Ui
{
class FTP_Widget;
}

class FTP_Widget : public QWidget
{
Q_OBJECT

public:
explicit FTP_Widget(QWidget *parent = 0);
~FTP_Widget();

FTP_Thread *mThread;

public slots:
void onInfoReceive(FTP_Thread::info *temp);

----------------------------------------------------------

ftp_widget.cpp
....
FTP_Widget::FTP_Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::FTP_Widget)
{
ui->setupUi(this);

mThread = new FTP_Thread(this);
connect(mThread, SIGNAL(InfoReceive(FTP_Thread::info *)), this, SLOT(onInfoReceive(FTP_Thread::INFO *)));
}

FTP_Widget::~FTP_Widget()B
{
delete ui;
}

void FTP_Widget::onInfoReceive(FTP_Thread::info *temp)
{
....

---------------------------------------------------------

2013/9/12 2:23
應用擴展 工具箱
回覆: singal 與 slot 小問題
版主
註冊日期:
2006/12/24 16:54
所屬群組:
網站管理員
已註冊使用者
等級: 33
HP : 0 / 816
MP : 524 / 30421
EXP: 67
離線
是 FTP_Thread::INFO 還是 FTP_Thread::info ?

2013/9/17 17:40
就算你百分之一百認定某人是渣滓中的渣滓,請仍然展示你的冷靜、體諒、尊重。

* My Blog
* My Twitter <- follow me!
* My Plurk
FoolproofProject:
* KomiX latest stable: v0.1.0 (Comics Viewer)
* Khopper latest stable: v0.4.2 (Audio Converter with CUE Sheet Support)
* PicKing latest stable: v0.2.3 (File Picking)
應用擴展 工具箱
回覆: singal 與 slot 小問題
會員二級
註冊日期:
2007/10/5 20:17
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 118
MP : 16 / 4153
EXP: 75
離線
Widget 屬於 QApplication Thread
FTP_Thread 屬於 QThread
不同 Thread 間要 connect 時要加上 Qt::DirectConnection
Qt 預設是 Qt::AutoConnection = Qt::QueuedConnection
前幾天寫的時候也有遇過這種問題

這可以參考
http://qt-project.org/doc/qt-4.8/threads-qobject.html

2014/1/25 20:20
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.