0

Qtクリエーターでブーストとqtの両方の信号とスロットを一緒に使用しています。私は言及された指示に従いました。これが私の.proファイルです

QT       += core gui

TARGET = adaptortest
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    adaptor.cpp \
    gstreamer.cpp

HEADERS  += mainwindow.h \
    adaptor.h \
    gstreamer.h

FORMS    += mainwindow.ui
LIBS        += -L. -L/usr/lib -lcurl -ltag -fopenmp -lboost_filesystem -lboost_system
CONFIG      += no_keywords # so Qt won't #define any non-all-caps `keywords'
INCLUDEPATH += . /usr/include/boost/



unix:!macx:!symbian: LIBS += -lboost_signals

今、私は大文字の QT マクロを使用することになっていますが、シグナルの発行には、「シグナル名の発行」も「Q_EMIT シグナル名」も機能しません。そのようなシナリオでどのように信号を発することになっていますか?

4

1 に答える 1

-1

マクロ エミットまたは Q_EMIT でシグナルを発行する必要はありません。Qt のシグナルは単なるクラスのメソッドであるため、他のすべてのメソッドと同じように呼び出すだけです。emit と Q_EMIT は、この特定のメソッドが Qt シグナルであることを視覚的に示すためのものです。

于 2012-06-25T10:58:09.773 に答える