Ali71321 3 ارسال شده در اسفند 99 سلام دوستان خسته نباشید. من میخوام به پروژه ام یک فرم جدید اضافه کنم که با کلیک روی یک دکمه باز بشه ولی به محض باز شدن بسته میشه. راهکار عملی برای این مورد چی میتونه باشه؟ ممنون. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 کامبیز اسدزاده 618 ارسال شده در اسفند 99 در 2 دقیقه قبل، Ali71321 گفته است : سلام دوستان خسته نباشید. من میخوام به پروژه ام یک فرم جدید اضافه کنم که با کلیک روی یک دکمه باز بشه ولی به محض باز شدن بسته میشه. راهکار عملی برای این مورد چی میتونه باشه؟ ممنون. درود، کدی که نوشتین رو ارسال کنید تا بررسی بشه. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 Ali71321 3 ارسال شده در اسفند 99 خسته نباشید مهندس. خیلی بهتون زحمت دادم. ببینید من از قسمت Add new یک Qform class به پروژه ام اضافه میکنم و اون قسمتی که لازمه یک نمونه از اون فرم و میسازم مثل : loginform *log = new loginform; log.show(); ولی به محض باز شدن بسته میشه. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 کامبیز اسدزاده 618 ارسال شده در اسفند 99 نمیدونم این رو دقیقاً کجا دارید مینویسید، اما طبق نمونهای که گرفتین روش به کار گیری show درست نیست و باید خطا بده این رو امتحان کنید : Login *login = new Login; login->show(); یک کلاس بسازید با نام Login مثلاً، بعد یک نمونه بگیرید و کد مربوطه رو داخل یک رویدادی مثل کلیک شدن یا بارگذاری فرم قرار بدین. نمونهٔ کاملتر : void MainWindow::on_pushButton_clicked() { Login *log = new Login; log->show(); } اگه مشکلی بود هم سعی کنید جزئیات بیشتری ارائه کنید. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 Ali71321 3 ارسال شده در اسفند 99 روال کار به این صورت هستش : راست کلیلک روی اسم پروژه>>Add new>>Qt Designer Form Class>>Main Window>>... بعد از انتخاب نام به عنوان login کد مورد نظر اینطوری میشه : void Login::on_pushButton_clicked() { if(ui->lineEdit->text()=="1" and ui->lineEdit_2->text()=="1") { login *log = new Login; log.show(); } } نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 کامبیز اسدزاده 618 ارسال شده در اسفند 99 در 10 دقیقه قبل، Ali71321 گفته است : روال کار به این صورت هستش : راست کلیلک روی اسم پروژه>>Add new>>Qt Designer Form Class>>Main Window>>... بعد از انتخاب نام به عنوان login کد مورد نظر اینطوری میشه : login *log = new Login; log.show(); ببینید این قسمت از کدها اصلاً درست نیست! چطور برای شما کامپایل میشه بعید میدونم آزمایشش کرده باشید! نام فرم و کلاس شما باید Login باشه نه login! حرف L بزرگ مهمه. از طرفی log.show() نباید باشه بایدlog->show() باشه به صورت اشارهگر! بعد شما ظاهراً دارید داخل خود فرم Login دوباره کلاس خود Login رو فراخوانی میکنید برای نمایش! خب این درست نیست. و اینکه برای یک فرم فرزند دیگه نیازی نیست از MainWindow استفاده کنید، از یک QWidget ارثبری کنید. کدهای زیر نمونهٔ صحیح است : #ifndef LOGIN_HPP #define LOGIN_HPP #include <QWidget> namespace Ui { class Login; } class Login : public QWidget { Q_OBJECT public: explicit Login(QWidget *parent = nullptr); ~Login(); private: Ui::Login *ui; }; #endif // LOGIN_HPP #include "login.hpp" #include "ui_login.h" Login::Login(QWidget *parent) : QWidget(parent), ui(new Ui::Login) { ui->setupUi(this); } Login::~Login() { delete ui; } این هم نحوهٔ فراخوانی در پنجرهٔ اصلی (والد) : #include "mainwindow.hpp" #include "ui_mainwindow.h" #include "login.hpp" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { Login *log = new Login; log->show(); } به درستی کار میکنه. نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
0 Ali71321 3 ارسال شده در اسفند 99 ممنون مهندس تست میکنم نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
سلام دوستان خسته نباشید.
من میخوام به پروژه ام یک فرم جدید اضافه کنم که با کلیک روی یک دکمه باز بشه
ولی به محض باز شدن بسته میشه.
راهکار عملی برای این مورد چی میتونه باشه؟
ممنون.
به اشتراک گذاری این ارسال
لینک به ارسال
به اشتراک گذاری در سایت های دیگر