ورود

View Full Version : خطا در نمایش پنجره دوم



hosseinam1370
شنبه 18 بهمن 1393, 16:26 عصر
دارم از اینجا :
http://barnamenevis.org/showthread.php?436304-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%88-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-C-%E2%80%8E%E2%80%8E-Qt-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85&p=1955008&viewfull=1#post1955008

یاد میگیرم که با زدن دکمه ، فروم دومی رو نشون بده ، و تمام کاراشو هم کردم ، ولی نمیدونم چرا خطای زیر رو میده، ممنون میشم راهنماییم کنید.

تصویر رو ببینید:
http://upload7.ir/uploads//f438f76747fb147e38e965ade107b2260fba67d0.png

احسان!
شنبه 18 بهمن 1393, 16:53 عصر
محتویات form.cpp و 32.pro رو اینجا بذارید.

"qmessagebox" اونجا چیکار میکنه؟ چرا بین <> نیست؟

ویرایش: ترجیحا بقیه ی پروژه رو هم اینجا بذارید.:)

hosseinam1370
شنبه 18 بهمن 1393, 18:41 عصر
این form.cpp

#include "form.h" #include "ui_form.h"
Form::Form(QWidget *parent) : QWidget(parent), ui(new Ui::Form) { ui->setupUi(this); }
Form::~Form() { delete ui; }


اینم 32.pro

#------------------------------------------------- # # Project created by QtCreator 2015-02-07T16:46:10 # #-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = 32 TEMPLATE = app

SOURCES += main.cpp\ mainwindow.cpp \ form.cpp
HEADERS += mainwindow.h \ form.h
FORMS += mainwindow.ui \ form.ui



qmessagebox" برا تمرین قبلی بود ، میشه پاکش کرد اصلا.


اینم کل فایل :
http://upload7.ir/preview.php?user=&file=8510de1eb84c5b7b4993e1bb5c1d6b124b2380d1

و در آخر بسیار ممنون.

احسان!
شنبه 18 بهمن 1393, 18:53 عصر
به خاطر اینه که حرف اول Form رو کوچیک نوشتید. اسم کلاس form نیست و Form هستش. یعنی باید

form *dialog = new form();
به

Form *dialog = new Form();
تغییر پیدا کنه.

hosseinam1370
شنبه 18 بهمن 1393, 21:30 عصر
با تشکر از شما.اون مشکلم حل شد.
ولی خواستم یه دیالوگ دیگه اضافه کنم به مین ویندوز ،که اینکار و کردم و خطاشو رفع کردم ، ولی ایندفعه خطای لینکر داد. و دوباره همه چی رو درست کردم و برگشت دادم به حالت اولیه که درست بود، باز هم خطای لینکر میده و کامپیل نمیشه.ممنون میشم راهنماییم کنید.
ببینید:
http://upload7.ir/uploads//566c6adccaf360bd766374c7efd3259ec4491d78.png

احسان!
شنبه 18 بهمن 1393, 21:48 عصر
الان من متوجه نشدم چی شد. یعنی کد ها رو برگردوندید به حالت قبل از خطا و بازم اخطار میده؟ کد ها رو بذارید.اینطوری نمیشه.(همینجا هم میتونید آپلود کنید انگار.)

hosseinam1370
یک شنبه 19 بهمن 1393, 09:26 صبح
منظورم این بود کد ها رو برگردوندم به حالت قبل از خطا،حالا شما یه لطف کنید ببینید. با تشکر.
فایل ضمیمه شد.

احسان!
یک شنبه 19 بهمن 1393, 11:36 صبح
توی پرونده های form.h و mainwindow.h به ترتیب خطوط ۱۹ و ۲۱ دو تا اسلات void on_pushButton_clicked(); و void on_pushButton_2_clicked(); وجود داره. توی فرم و مین ویندو کلا چیزی به اسم pushButton و pushButton_2 نیست. ظاهرا وقتی که کد ها رو به حالت قبل برگردونید یادتون رفته پیشنمایش اون دو تا اسلات که همون دو تا خط که گفتم باشه رو حذف کنید. با حذف اون دو خط مشکل حل میشه.
موفق باشید.:)

chikar
یک شنبه 19 بهمن 1393, 16:06 عصر
دوست عزیز دو نکته رو همیشه رعایت کن
1- سعی کن تو حالت releaze همیشه کامپایل کنی(دلیلش رو سرچ کن)
2- بعد از ساخت یک کلاس جدید یا هر چیز جدید باید qmake رو اجرا کنی، یعنی روی پروژه ات راست کلیک کنی و بعد run qmake

hosseinam1370
یک شنبه 19 بهمن 1393, 22:43 عصر
ممنون از راهنمایی هاتون.

چرا باید - بعد از ساخت یک کلاس جدید یا هر چیز جدید باید qmake رو اجرا کنی، یعنی روی پروژه ات راست کلیک کنی و بعد run qmake

رو انجام بدم؟

qmake چیه و چیکار میکنه؟

چون دارم از ویژال استدیو وارد کیوت میشم ، برای ورود اولیه باید بیس کیوت رو بفهمم چیه ، برا همین وقت شما دوستان رو با این سوالات پایه میگیرم.

با تشکر.

chikar
دوشنبه 20 بهمن 1393, 17:11 عصر
البته بنده هم تازه کار هستم و امید وارم اساتید بزرگوار بهتر راهنمایی کنند ولی در حد تجربه ام باید بگم:
برای اینکه مثلا کلاس جدیدی که ساختی فایل مایکرو اون با پسوند .obj ساخته بشه و تا پروژه ات بدون خطا اجرا بشه نیاز به اجرای qmake و یا build کردن پروژه ات داری برادر
فراموش کردم بگم اگر از ویژوال استادیو استفاده می کنی نیازی به این کار نیست.
این مشکل رو من خودم داشتم و دوست ندارم کس دیگه ای به اون دچار شه، یه سر به اینجا (http://barnamenevis.org/showthread.php?479145-%D8%AE%D8%B7%D8%A7-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-%DA%A9%D9%84%D8%A7%D8%B3-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87-%D9%88-%D9%85%D8%B9%D9%85%D9%88%D9%84%DB%8C-%D8%AF%D8%B1-%DA%A9%DB%8C%D9%88%D8%AA-%DA%A9%D8%B1%DB%8C%D8%AA%D9%88%D8%B1)بزنید