[SOLVED] مشکل با کلاس interface
-
wrote on 12 Aug 2012, 05:08 last edited by
p{direction: rtl; text-align: right}. سلام دوستان... چه جوری می تونم کیو تی ورژن 4.6 رو به
qt creator 2.4.1
اضافه کنم؟
از Tools>>Option>build and run> qt version
اضافه کردمش اما به اون قسمت که می تونی حالت debug یا release بودن رو با ورژن انتخاب کنی نمیاد و اضافه نمیشه به اونجا...
چه باید بکنم؟ -
wrote on 12 Aug 2012, 05:19 last edited by
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.
-
wrote on 12 Aug 2012, 07:10 last edited by
[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}. فکر کنم توی کدت مشکل داری. کد رو بذار تا ما بتونیم راهنماییت کنیم.
-
wrote on 12 Aug 2012, 07:30 last edited by
مرسی محسن
این هم کد... ممنون
@// 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@
-
wrote on 12 Aug 2012, 07:32 last edited by
این هم فایل .pro
QT += core
QT -= gui
TARGET = CAlPlugin_Based
CONFIG += console
CONFIG -= app_bundle
CONFIG += pluginTEMPLATE = app
SOURCES += main.cpp
HEADERS +=
Evaluate.h
EvaluateInterface.h -
wrote on 13 Aug 2012, 05:19 last edited by
p{direction:rtl; text-align:right}. چیزی که مشخصه اینه که EvaluateInteface.h در فایل Evaluate.h
include نشده. یک نکته هم این که گاهی وقتا وقتی از ماکروهای meta-object استفاده میکنید باید یکبار qmake رو اجرا کنید تا کد هاشو بازسازی کنه -
wrote on 13 Aug 2012, 05:32 last edited by
تمام راه ها رو تست کردم.. چند بار انجام دادم... ولی جواب نگرفتم. فکر می کنم مشکلی جدا از کیوت وجو داره
-
wrote on 13 Aug 2012, 05:46 last edited by
p{direction: rtl; text-align:right}. من نمیدونم دقیقا چه کاری داری میکنی ولی من با interface تو کیوت 4.8.x مشکلی ندارم. ولی خوب به نظر من شاید کاری که بخوای بکنی اصلا نیازی به interface نداشته باشه و با همون فانکشن های pure virtual بشه انجام داد.
-
wrote on 13 Aug 2012, 07:41 last edited by
می خوام یه پلاگین بنویسم و به برنامه اصلیم اضافه کنم. مشکل اینترفیس حل شد. الان درگیر پلاگین شدم. فعلن در گیرشم. مطمئنن بازم سوال دارم و می پرسم ازت . ممنون
-
wrote on 13 Aug 2012, 09:25 last edited by
p{direction: rtl; text-align: right}. میشه بگی چطوری مشکل اینترفیس حل شد تا اگر بقیه هم این مشکل رو داشتن بتونن استفاده کنن.
6/10