久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

QT:模板化 Q_OBJECT 類

QT : Templated Q_OBJECT class(QT:模板化 Q_OBJECT 類)
本文介紹了QT:模板化 Q_OBJECT 類的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

是否有可能有一個(gè)從 QObject 繼承的模板類(并且在它的聲明中有 Q_OBJECT 宏)?

Is it possible to have a template class, which inherit from QObject (and has Q_OBJECT macro in it's declaration)?

我想為插槽創(chuàng)建類似適配器的東西,它可以做一些事情,但插槽可以接受任意數(shù)量的參數(shù)(參數(shù)數(shù)量取決于模板參數(shù)).

I would like to create something like adapter for slots, which would do something, but the slot can take arbitrary number of arguments (number of arguments depends on the template argument).

我剛剛嘗試這樣做,但出現(xiàn)鏈接器錯(cuò)誤.我猜 gmake 或 moc 沒(méi)有在這個(gè)模板類上被調(diào)用.有沒(méi)有辦法做到這一點(diǎn)?也許通過(guò)顯式實(shí)例化模板?

I just tried doing it, and got linker errors. I guess gmake or moc is not getting called on this template class. Is there a way to do this? Maybe by explicitly instantiating templates?

推薦答案

混合模板和 Q_OBJECT 是不可能的,但如果你有一個(gè)類型的子集,你可以像這樣列出插槽和信號(hào):

It is not possible to mix template and Q_OBJECT but if you have a subset of types you can list the slots and signals like this:

    class SignalsSlots : public QObject
    {
        Q_OBJECT

    public:
        explicit SignalsSlots(QObject *parent = 0) :
            QObject(parent) {}

    public slots:
        virtual void writeAsync(int value) {}
        virtual void writeAsync(float value) {}
        virtual void writeAsync(double value) {}
        virtual void writeAsync(bool state) {}
        virtual void writeAsync(svga::SSlideSwitch::SwitchState state) {}   

    signals:
        void readAsynkPolledChanged(int value);
        void readAsynkPolledChanged(float value);
        void readAsynkPolledChanged(double value);
        void readAsynkPolledChanged(bool state);
        void readAsynkPolledChanged(svga::SSlideSwitch::SwitchState state);
    };
...
template <class T>
class Abstraction : public SignalsSlots
{...

這篇關(guān)于QT:模板化 Q_OBJECT 類的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數(shù)據(jù)?)
In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫 for() 循環(huán): for( int i = 1, double i2 = 0;)
How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環(huán)?)
Reusing thread in loop c++(在循環(huán) C++ 中重用線程)
Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環(huán)形?)
主站蜘蛛池模板: 五月婷婷综合网 | 国产传媒在线播放 | 日本国产在线观看 | 一级黄色网 | 国产精品国产精品国产专区不片 | 在线免费观看黄 | 欧美日韩亚洲国产 | 一个色综合网 | 欧美午夜精品一区二区 | 国产xxx | 五月天激情影院 | 国产精品福利视频 | 国产精品国产三级国产专区52 | aaaaa级片| 在线国产小视频 | 99精品视频免费观看 | 九九热精品在线观看 | 亚洲欧美国产高清va在线播放 | 不卡的av网站 | 男女裸体无遮挡做爰 | 在线视频一区二区三区 | 神马午夜我不卡 | 一区二区三区国产精品 | 韩国精品一区 | 亚洲免费视频一区 | 久久色视频 | 精品少妇| 欧美一区二区三区四区五区 | 亚洲一区免费 | 亚洲第一黄色 | 国产一区二区影院 | 国产午夜精品一区二区三区视频 | 国产成人免费在线观看 | 亚洲一区av | 91久久久精品 | 五月婷婷色 | 亚洲www.| 成人a级片 | 亚洲日本在线观看 | 日韩免费一区二区三区 | 在线国产小视频 |