[SOLVED] مشکل با کلاس interface



  • p{direction: rtl; text-align: right}. سلام دوستان... چه جوری می تونم کیو تی ورژن 4.6 رو به
    qt creator 2.4.1
    اضافه کنم؟
    از Tools>>Option>build and run> qt version
    اضافه کردمش اما به اون قسمت که می تونی حالت debug یا release بودن رو با ورژن انتخاب کنی نمیاد و اضافه نمیشه به اونجا...
    چه باید بکنم؟



  • ahaaaa.. rasti hala in che rabty be kelase interface dare.. ine ke man ye kelase Interface daram ke be moshkel mikhoram moghe run proje. ye jaye khoondam ke class interface to version haye balaye 4.6 be moshkel bar mikhore... mikham bebinam moshkel hamine vaghean ya kheir. motshaker.



  • [quote author="CuteKQ" date="1344748085"]p{direction: rtl; text-align: right}. سلام دوستان... چه جوری می تونم کیو تی ورژن 4.6 رو به
    qt creator 2.4.1
    اضافه کنم؟
    از Tools>>Option>build and run> qt version
    اضافه کردمش اما به اون قسمت که می تونی حالت debug یا release بودن رو با ورژن انتخاب کنی نمیاد و اضافه نمیشه به اونجا...
    چه باید بکنم؟ [/quote]

    p{direction: rtl; text-align: right}. میتونی فایل .pro.user تو مسیر پروژه رو پاک کنی و بعد پروژه رو با Qt Creator بیاری تا دوباره config کنی. و یا اینکه در ساید بار سمت چپ Qt Creator به قسمت Projects بری و تنظیمات رو انجام بدی.

    [quote author="CuteKQ" date="1344748755"]ahaaaa.. rasti hala in che rabty be kelase interface dare.. ine ke man ye kelase Interface daram ke be moshkel mikhoram moghe run proje. ye jaye khoondam ke class interface to version haye balaye 4.6 be moshkel bar mikhore... mikham bebinam moshkel hamine vaghean ya kheir. motshaker.[/quote]

    p{direction: rtl; text-align: right}. فکر کنم توی کدت مشکل داری. کد رو بذار تا ما بتونیم راهنماییت کنیم.



  • مرسی محسن
    این هم کد... ممنون


    @// interface class EvaluateInterface.h

    #ifndef EVALUATEINTERFACE_H
    #define EVALUATEINTERFACE_H

    #include<QtPlugin>
    #include<QString>
    class evaluateInterface
    {
    public:
    virtual ~evaluateInterface(){}
    virtual QString name() const=0;
    virtual int eevaluate(int num1,int num2) const=0;
    };
    Q_DECLARE_INTERFACE(evaluateInterface,"Calinterface/1.0")
    #endif // EVALUATEINTERFACE_H@


    @// Evaluate.h

    #ifndef EVALUATE_H
    #define EVALUATE_H

    #include<QObject>
    #include<QtPlugin>
    class evaluate : public evaluateInterface, public QObject
    {
    Q_OBJECT
    Q_INTERFACES(evaluateInterface)
    public:
    QString name() const;
    int eevaluate(int num1, int num2) const;
    };
    #endif // EVALUATE_H@




  • این هم فایل .pro


    QT += core

    QT -= gui

    TARGET = CAlPlugin_Based
    CONFIG += console
    CONFIG -= app_bundle
    CONFIG += plugin

    TEMPLATE = app

    SOURCES += main.cpp

    HEADERS +=
    Evaluate.h
    EvaluateInterface.h



  • p{direction:rtl; text-align:right}. چیزی که مشخصه اینه که EvaluateInteface.h در فایل Evaluate.h
    include نشده. یک نکته هم این که گاهی وقتا وقتی از ماکروهای meta-object استفاده میکنید باید یکبار qmake رو اجرا کنید تا کد هاشو بازسازی کنه



  • تمام راه ها رو تست کردم.. چند بار انجام دادم... ولی جواب نگرفتم. فکر می کنم مشکلی جدا از کیوت وجو داره



  • p{direction: rtl; text-align:right}. من نمیدونم دقیقا چه کاری داری میکنی ولی من با interface تو کیوت 4.8.x مشکلی ندارم. ولی خوب به نظر من شاید کاری که بخوای بکنی اصلا نیازی به interface نداشته باشه و با همون فانکشن های pure virtual بشه انجام داد.



  • می خوام یه پلاگین بنویسم و به برنامه اصلیم اضافه کنم. مشکل اینترفیس حل شد. الان درگیر پلاگین شدم. فعلن در گیرشم. مطمئنن بازم سوال دارم و می پرسم ازت . ممنون



  • p{direction: rtl; text-align: right}. میشه بگی چطوری مشکل اینترفیس حل شد تا اگر بقیه هم این مشکل رو داشتن بتونن استفاده کنن.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.