PDA

View Full Version : سوال: رفع ارور شناخته نشدن myform.h



motherboard
چهارشنبه 21 خرداد 1393, 09:16 صبح
سلام.خسته نباشید.این کد مربوط به یکی از کدهای بخش اموزش Qt است.به رغم وارد کردن کد در کیوت اروری به اسم no such file or Directoty رو برای هدر myform.h میده.ضمن اینکه اخرین نسخه موجود کیوت رو از سایت qt-project دانلود کردم. و البته پروژه رو از قسمت applicatin و قسمت qt widgets applications ساختم.ممنون میشوم اگر راهنمایی ام کنید.



#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "myform.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked()
{


MyForm *dialog = new MyForm();
dialog->show();

}

کامبیز اسدزاده
چهارشنبه 21 خرداد 1393, 10:55 صبح
سلام.خسته نباشید.این کد مربوط به یکی از کدهای بخش اموزش Qt است.به رغم وارد کردن کد در کیوت اروری به اسم no such file or Directoty رو برای هدر myform.h میده.ضمن اینکه اخرین نسخه موجود کیوت رو از سایت qt-project دانلود کردم. و البته پروژه رو از قسمت applicatin و قسمت qt widgets applications ساختم.ممنون میشوم اگر راهنمایی ام کنید.



#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "myform.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked()
{


MyForm *dialog = new MyForm();
dialog->show();

}





فایل pri یا pro رو بررسی کنید مسیرفایل های مربوط به فرمی که ساختین رو نمیتونه شناسایی کنه.
اگه خواستین پروژه رو بزارید بررسی کنم.

motherboard
چهارشنبه 21 خرداد 1393, 16:03 عصر
من تمام مراحل رو گذاشتم:
120082
120083
120084
120085
120086
ادامه مراحل در پست بعدی:

motherboard
چهارشنبه 21 خرداد 1393, 16:09 عصر
ادامه مراحل:
120087
120088
120089
120090
120091
تو یکی از این مراحل اخیر وقتی اون run without رو میزنم به صورت نسیه یک چیزی رو اجرا می کنه اما در محیط اون پیغام قرمز خطادار وجود داره.خواستم در جزییات قرار بگیرید :لبخند:

کامبیز اسدزاده
چهارشنبه 21 خرداد 1393, 16:56 عصر
اینهمه عکس گذاشتین ولی چیزی نبود که لازم داشتم !
این فایل myform.h باید مربوط به یک .ui باشه که همراه با ایجاد فرمتون ساخته شده ! خودتون باید این رو اضافه کرده باشید و مربوط به فرم پیشفرض ساخته شده نیستش.
در این حالت شما باید یک فایل myform.cpp همراه با myform.ui هم داشته باشید.

در صورت وجود این موارد پروژه رو Clean و سپس Run make و بعد Rebuild کنید.

در غیر اینصورت همین پروژه ای که خطا میده رو کامل ضمیمه کنید تا بررسیش کنم.

motherboard
چهارشنبه 21 خرداد 1393, 20:18 عصر
اینهمه عکس گذاشتین ولی چیزی نبود که لازم داشتم !

در صورت وجود این موارد پروژه رو Clean و سپس Run make و بعد Rebuild کنید.

در غیر اینصورت همین پروژه ای که خطا میده رو کامل ضمیمه کنید تا بررسیش کنم.
تمام این موارد رو که اشاره فرمودید انجام دادم از قبیل clean و یا run make و یا rebuild اما همچنان myform.h شناسایی نمیشه.من متوجه نمیشم که شما دقیقا چی رو میگید ضمیمه کنم.اما من سعی کردم تمام مراحلی رو که انجام می دم رو عکسش رو بذارم.ظاهرا پروژه رو درست می سازم اما همون طور که در عکس ها می بینید خطای no such file رو میده.و نمی دونم چه چیز رو رعایت نمی کنم.به هر حال همین امروز با این محیط به صورت واقعی اشنا شدم و در اینده سوالات زیادی رو در این بخش مطرح می کنم.ولی خیلی محیط باحالیه.واقعا c رو شیرین تر از قبل می کنه.اگر امکان داره شما دقیقا از اون مرحله ای که کد رو وارد می کنید تا کامپایل کردنش رو در اینجا قرار بدید تا در جریان کار قرار بگیرم.نمی دونم کجای کار ایراد داره:متفکر:.

motherboard
چهارشنبه 21 خرداد 1393, 23:56 عصر
از دوستان کسی نیست؟ به نظر میرسه ایجاد پروژه از خود زبان c سخت تر باشه!!!!!! لطفا مرا کمک کرداهی :گریه:

کامبیز اسدزاده
پنج شنبه 22 خرداد 1393, 00:01 صبح
مراحل رو بیخیال بشید پوشه پروژه ای که ایجاد کردین رو از بیخ همراه با فایل .pro اینجا قرار دهید تا در Qt خودم اجراش کنم.

حامد مصافی
پنج شنبه 22 خرداد 1393, 11:57 صبح
شما فایلی به نام myform.h در پروژه خوتون ندارید!
مراحل اضافه کردن یک فرم جدید به پروژه (همین تصویر زیر) رو یک بار دیگه انجام بدید و این بار نام فرم (فیلد Class name) رو MyForm بگذارید.

http://barnamenevis.org/attachment.php?attachmentid=120085&d=1402488065

motherboard
پنج شنبه 22 خرداد 1393, 12:46 عصر
الان من اومدم کلا دوباره از صفر یک پروژه رو ایجاد کردم اما این بار در class name عبارت My Form رو گذاشتم و بعد از RUN این بار اومد از MainWindow ایراد گرفت.ولی دیگه از MyForm ایراد نگرفت.تازه داره مطلب دستگیرم میشه.اما اینکه بیام یک بار دیگه برای همین پروژه ای که ایجاد کردم یک صفحه ای رو مثل عکس بالا رو ایجاد کنم و این بار تو اون کادر بنویسم MainWindow رو بلد نیستم.چون نباید پروژه ی جدیدی رو با یک اسم دیگه درست کنم چون در این صورت این پروژه با اون پروژه تولید شده هیچ ربطی رو نداره.الان توی اوردن یک بار دیگه ی این صفحه عکس بالا مشکل دارم.
120117

حامد مصافی
پنج شنبه 22 خرداد 1393, 13:04 عصر
شما به نوشته‌های من توجه نکردی! الان MyForm رو داری اما MainWindow نداری. یک فرم در ابتدا ساخته میشه و یکی هم شما باید ایجاد کنید.

کامبیز اسدزاده
پنج شنبه 22 خرداد 1393, 13:14 عصر
شما پروژه رو که جدید ایجاد میکنی به صورت پیشفرض MainWindow رو داره حالا میخوای یه فرم جدید دیگه ای ایجاد کنید روی پروژه راست کلیک کنید Add new و بعد قسمت File and Class گزینه Qt و بعد Qt Designer form class رو بزنید در مرحله بعد widget رو انتخاب کنید و اسمی که به صورت پیشفرض داده به این صورت یک فرم جدید ایجاد میکنید و سلام... !

به این روش امتحان کنید نباید ایرادی داشته باشه !

motherboard
پنج شنبه 22 خرداد 1393, 13:17 عصر
مرسی درست شد.تازه دوهزاریم افتاد!!!!! اگر اشتباه نکرده باشم باید دوتا فرم رو درست کنیم.اولی همون mainwindow هستش و دومی هم با همون اسم قبلی(پروژه) که برای اولی ایجاد کرده بودم رو این بار با نام MyForm درست می کنم.و اینجاست که دیگه ارور نمیده. اگه نتیجه گیریم درست بود لطفا به عنوان تایید دکمه تشکر رو بزنید.



شما پروژه رو که جدید ایجاد میکنی به صورت پیشفرض MainWindow رو داره حالا میخوای یه فرم جدید دیگه ای ایجاد کنید روی پروژه راست کلیک کنید Add new و بعد قسمت File and Class گزینه Qt و بعد Qt Designer form class رو بزنید در مرحله بعد widget رو انتخاب کنید و اسمی که به صورت پیشفرض داده به این صورت یک فرم جدید ایجاد میکنید و سلام... !

به این روش امتحان کنید نباید ایرادی داشته باشه !
دیگه کاملا گرفتم.هم از شما و هم از اقای مصافی ممنون هستم