[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 += pluginTEMPLATE = 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}. میشه بگی چطوری مشکل اینترفیس حل شد تا اگر بقیه هم این مشکل رو داشتن بتونن استفاده کنن.