انجمن کاربران لینوکس ایران - تکنوتاکس سابق
مشکل با qt - نسخه قابل چاپ

+- انجمن کاربران لینوکس ایران - تکنوتاکس سابق (https://forum.sito.ir)
+-- انجمن: پرسش‌ها و پاسخ‌ها (https://forum.sito.ir/forumdisplay.php?fid=3)
+--- انجمن: لینوکس و برنامه نویسی (https://forum.sito.ir/forumdisplay.php?fid=13)
+--- موضوع: مشکل با qt (/showthread.php?tid=15723)

صحفه ها: 1 2 3 4


مشکل با qt - مهمان - 2010-03-22

سلام
این برنامه به نظر شما چه عیبی داره؟
کد :
#ifndef READ_H
#define READ_H
#include <QPushButton>
class test : public QPushButton
{
public :
      test();
public slots:


   void set_text();
};

#endif // READ_H
کد :
#include "test.h"
#include <QLabel>
void test::set_text()
{
   close();

}
test::test()
{

}
کد :
#include "test.h"
#include <iostream>
#include <QPushButton>
#include <QApplication>
using namespace std;
int main(int argc, char *argv[])
{
   QApplication app(argc,argv);
   test * but = new test();
   QObject::connect(but,SIGNAL(clicked()),but,SLOT(set_text()));
   but->show();
    return app.exec();
}
اینم خروجی
کد :
Starting C:\Users\amin\Documents\55\debug\55.exe...
Object::connect: No such slot QPushButton::set_text() in main.cpp:13
C:\Users\amin\Documents\55\debug\55.exe exited with code 1

Starting C:\Users\amin\Documents\55\debug\55.exe...
Object::connect: No such slot QPushButton::set_text() in main.cpp:13
C:\Users\amin\Documents\55\debug\55.exe exited with code 0

Starting C:\Users\amin\Documents\55\debug\55.exe...
Object::connect: No such slot QPushButton::set_text() in main.cpp:13
C:\Users\amin\Documents\55\debug\55.exe exited with code 0



پاسخ: مشکل با qt - iSam - 2010-04-24

من QT رو تو لینوکس و ویندوز نصب کردم و ++G هم رو سیستم نصب هست. وقتی میرم و بزبان ++C مینویسم, دکمه ران و دیباگ و... فعال نیست و نمیدونم چطوری این برنامه رو استفاده کنم. آیا من میتونم کل کد نویسیم بزبان ++C رو تو QT Creator انجام بدم و بیخیال اکلیپس و نت بینز و ... بشم؟ ممنون.


پاسخ: مشکل با qt - Folaani - 2010-04-24

اوه اون پست بالایی قدیمی هست. بنده ندیدمش وگرنه جواب میدادم.

نقل قول :من QT رو تو لینوکس و ویندوز نصب کردم و ++G هم رو سیستم نصب هست. وقتی میرم و بزبان ++C مینویسم, دکمه ران و دیباگ و... فعال نیست و نمیدونم چطوری این برنامه رو استفاده کنم. آیا من میتونم کل کد نویسیم بزبان ++C رو تو QT Creator انجام بدم و بیخیال اکلیپس و نت بینز و ... بشم؟ ممنون.
باید بتونید. اصلا فلسفهء QT Creator و راه اصلیش همینه.
ولی بنده با کیوت روی لینوکس خیلی کم کار کردم و درست یادم نیست.
متاسفانه الانم لینوکسم خارج از دسترس هست (گذشته از اینکه فدورا 5 مال عهد بوقه!)


پاسخ: مشکل با qt - iSam - 2010-04-24

ببخشید که لوگین نکرده بودم.
والا هرچی سعی میکنم نمیشه دیگه کلافه شدم و هنوز شروع نکرده توش موندم. ممنون میشم اگه دوستان راهنماییم کنند, ممنون.


پاسخ: مشکل با qt - Folaani - 2010-04-24

چی نمیشه؟
تا توضیح کامل ندی که نمیشه چیزی گفت. تازه ممکنه تصویر هم نیاز باشه.
برنامت چیه. فایلهاش چیه. سورسش چیه ...
hello world رو تست کردی؟


پاسخ: مشکل با qt - مهمان - 2010-04-24

من میرم تو کیوت و از منوی فایل یک نیو پراجکت میکنم بعد اونجا در قسمت ++C میرم و C++ Source File رو که یک فایل با پسوند cpp. ایجاد میکنه انتخاب میکنم و توش یک hello world ساده مینویسم و سیو میکنم ولی وقتی میخوام ران و دیباگ و ... کنم همه گزینه ها غیرفعال هست و نمیتونم برناممو اجرا کنم!!! پیشاپیش ممنون از راهنماییتون.


پاسخ: مشکل با qt - iSam - 2010-04-24

ببخشید بازم یادم رفت لوگین کنم.
من میرم تو کیوت و از منوی فایل یک نیو پراجکت میکنم بعد اونجا در قسمت ++C میرم و C++ Source File رو که یک فایل با پسوند cpp. ایجاد میکنه انتخاب میکنم و توش یک hello world ساده مینویسم و سیو میکنم ولی وقتی میخوام ران و دیباگ و ... کنم همه گزینه ها غیرفعال هست و نمیتونم برناممو اجرا کنم!!! پیشاپیش ممنون از راهنماییتون.


پاسخ: مشکل با qt - r_m1232002 - 2010-04-24

وقتی توی qt creator گزینه new project رو می زنید ، نوع پروژه خود رو QT GUI Application انتخاب کنید. ویزارد رو دنبال کنید . سرانجام یک سری فایل خودش می سازه . حالا باید دکمه run فعال باشه و با کلیک کردن روش برنامه کامپایل بشه و یه پنجره به عنوان خود برنامه نمایش داده بشه. اگر در هرجای این کار مشکل داشته باشید مشکل از نصب نادرست خود qt creator هست. لطفا اول این رو آزمایش کنید و نتیجه رو بگید تا مشخص بشه مشکل از شماست یا نرم افزار


Re: پاسخ: مشکل با qt - Folaani - 2010-04-24

Anonymous نویسنده :من میرم تو کیوت و از منوی فایل یک نیو پراجکت میکنم بعد اونجا در قسمت ++C میرم و C++ Source File رو که یک فایل با پسوند cpp. ایجاد میکنه انتخاب میکنم و توش یک hello world ساده مینویسم و سیو میکنم ولی وقتی میخوام ران و دیباگ و ... کنم همه گزینه ها غیرفعال هست و نمیتونم برناممو اجرا کنم!!! پیشاپیش ممنون از راهنماییتون.
ببین داداش hello world گرافیکی باید این شکلی باشه ها:
کد :
#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton hello("Hello world!");

    hello.show();
    return app.exec();
}
سیو کردن هم یادت نره!
من همینو با همون روشی که شما گفتی کامپایل و اجرا کردم. منتها روی ویندوز.


پاسخ: مشکل با qt - iSam - 2010-04-24

بله درسته ولی من میخوام برای لینوکس کد بنویسم و فقط یک فایل CPP. برام کافیه و نیازی به GUI و ... ندارم. آیا فقط QT GUI Application کار میکنه و بقیه بلا استفاده است؟ ممنون.


پاسخ: Re: پاسخ: مشکل با qt - Folaani - 2010-04-24

اگر بازهم موفق نشدی روش خط فرمان رو امتحان کن.
یعنی یک دایرکتوری خالی میسازی مثلا به آدرس:
کد :
/tmp/test
بعد سورس مورد نظر رو توش ایجاد میکنی (helloworld.cpp).
بعد خط فرمان باز میکنی و میزنی cd /tmp/test
بعد فرمانهای زیر رو به ترتیب اجرا میکنی:
کد :
qmake -project
qmake
make
بعد باید یه فایل اجرایی در دایرکتوری مورد نظر ایجاد شده باشه که مثلا اینطوری اجراش میکنی:
کد :
./test
یا مثلا اگر اسمش a.out باشه به این شکل:
کد :
./a.out



پاسخ: Re: پاسخ: مشکل با qt - iSam - 2010-04-24

والا من همینجا که ران میکنم بیلد میاد و میمونه و مثلا hello world رو چاپ نمیکنه تو جایی! ارور کامپایل آوت پوت هم اینه:
No valid Qt version set. Set one in Tools/Options
Error while building project test
When executing build step 'QMake'
Canceled build.


Re: پاسخ: مشکل با qt - Folaani - 2010-04-24

iSam نویسنده :بله درسته ولی من میخوام برای لینوکس کد بنویسم و فقط یک فایل CPP. برام کافیه و نیازی به GUI و ... ندارم. آیا فقط QT GUI Application کار میکنه و بقیه بلا استفاده است؟ ممنون.
شما چقدر مبهمی Big Grin
بالاخره نفهمیدیم سورس برنامهء تست شما چی توش بوده!
بعد آیا این سورس hello world استاندارد گرافیکی رو تست کردی بالاخره و اجرا شد یا نه!
بعدش بقیش رو انشالا حل میکنیم.


Re: پاسخ: Re: پاسخ: مشکل با qt - Folaani - 2010-04-24

iSam نویسنده :والا من همینجا که ران میکنم بیلد میاد و میمونه و مثلا hello world رو چاپ نمیکنه تو جایی! ارور کامپایل آوت پوت هم اینه:
No valid Qt version set. Set one in Tools/Options
Error while building project test
When executing build step 'QMake'
Canceled build.
روش خط فرمان رو که گفتم تست کن و نتیجه رو بگو.
با خط فرمان اگر کار کنه نیازی به qt creator هم نداری و میتونی برای ایجاد فایلهات از برنامهء ادیتور برنامه نویسی دیگری استفاده کنی. البته qt creator برنامهء خوبیه که اگر خواستی سر فرصت راهش میندازی.


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - iSam - 2010-04-24

والا اول که اومدم روش کامندی برم گفت:
The program 'qmake' can be found in the following packages:
* qt3-dev-tools
* qt4-qmake
بعد من رفتم و اون دوتا رو نصب کردم. بعد از اون تا مرحله make میره و فایلهای Makefile و test.pro رو علاوه بر test.cpp خودم میسازه. وقتی فرمان make رو میزنم ارور زیر رو میده که کار نیمه میمونه.
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o test.o test.cpp
test.cpp:1:22: error: iostream.h: No such file or directory
test.cpp:3: warning: ISO C++ forbids declaration of ‘main’ with no type
test.cpp: In function ‘int main()’:
test.cpp:5: error: ‘cout’ was not declared in this scope
make: *** [test.o] Error 1
در داخل QT Creator هم که هنوز همون ارور بالا رو میده.
من نیاز دارم تو یک ادیتور خوب با داکیومنتهای اوتومات خوب و ... کار کنم که فکر کنم QT Creator عالیه. لطفا کمکم کنید, ممنون.


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - مهمان - 2010-04-25

سورس برنامت رو بذار. گفتم اون برنامهء استاندارد رو اول تست بکن.
بعد هم ورژن کیوت شما مثل اینکه خیلی پایینه. نسخهء ۳ هست؟ چرا؟ از چه توزیع و نسخه ای استفاده میکنی و کیوت نسخهء چند رو از کجا نصب کردی؟


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - iSam - 2010-04-25

والا سورس خاصی نیست, من دارم یک hello world ساده مینویسم برای تست. بعد اینکه من آخرین ورژن QT SDK رو از سایت رسمیش گرفتم که قاعدتا در صورت نصب کل لایبرری ها و ... باید نصب بشه و نیازی نیست که لایبرری ها جدا هم نصب بشه (اگر لازمه بگید تا برم کل 286 مگ لایبرری رو هم علاوه بر خود QT که 425 مگ بود بگیرم). لینوکس هم اوبونتو ورژن 9.10 هست که استیبل هست و مشکلی نیست. من این مشکل رو تو ویندوز هم دارم و برام مهمه که تو هر دو پلتفرم بتونم کار کنم. پیشاپیش از راهنمایی هاتون ممنونم.


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - مهمان - 2010-04-25

سورس خاصی نیست یعنی چی؟ :lol:

ضمنا بجای iostream.h بنویس iostream ببین درست میشه یا نه.
با همون خط فرمان کار کن فعلا.
اگر میخوای محیط ویژوال رو راه بندازی در همون tools/options بنظرم باید مسیر نصب qt و/یا qmake رو مشخص کنی.


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - iSam - 2010-04-25

من کد زیر رو تو QT Creator تو ویندوز میزنم و کار میکنه و مثل اینکه روبراه است. ولی توی لینوکس تو خط فرمان ارور بالا رو که نوشتم, میده و تو خود QT Creator هم که فاتحه! حالا باید شب برم خونه تا تو لینوکس تست کنم و خبرشو بذارم اینجا. ممنون از راهنامییهاتون, خبرشو میدم.

#include <iostream>

int main()
{
std::cout << "Hello world\n";
std::cin.get();
}


پاسخ: Re: پاسخ: Re: پاسخ: مشکل با qt - مهمان - 2010-04-25

اگر برنامت خروجی در کنسول میده باید قبل از اجرای qmake این رو به فایل پروژه (فایلی با پسوند pro) اضافه کنی:
کد :
CONFIG+=console