Russian Qt Forum
Ноябрь 24, 2024, 08:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вывести вторую форму при нажатии на кнопку первой формы  (Прочитано 5842 раз)
Andrey
Гость
« : Октябрь 17, 2012, 14:16 »

Доброго дня. Я самый начинающий. Подскажите как это правильно сделать? Есть две формы. Одна сгенерирована автоматически. Другую добавил как dialog.ui. Разместил одну кнопку на mainwindow.ui . Пытаюсь вызвать форму dialog.ui форма сама выводиться, но она пустая. Хотя на ней размещены виджеты. Вот код:
 #-------------------------------------------------
#
# Project created by QtCreator 2012-10-17T14:24:35
#
#-------------------------------------------------

QT       += core gui

TARGET = Proba
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui \
    dialog.ui


#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDialog>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;

};



#endif // MAINWINDOW_H






#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<ui_dialog.h>
#include<QDialog>
#include <QWidget>

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

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

void MainWindow::on_pushButton_clicked()
{
    QDialog *mn = new QDialog();
            mn->show();
}
Записан
mutineer
Гость
« Ответ #1 : Октябрь 17, 2012, 14:19 »

QDialog это стандартный пустой диалог, к твоей форме отношения не имеющий
Записан
Andrey
Гость
« Ответ #2 : Октябрь 17, 2012, 14:28 »

Может подскажите примитивный пример чтобы смог выводить форму с любым виджетом......
Записан
mutineer
Гость
« Ответ #3 : Октябрь 17, 2012, 14:30 »

смог выводить форму с любым виджетом......

Это как?
Записан
mutineer
Гость
« Ответ #4 : Октябрь 17, 2012, 14:33 »

Код
C++ (Qt)
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
}

вот тут вот и устанавливается связь между объектом класса MainWindow и формой из дизайнера
Записан
Andrey
Гость
« Ответ #5 : Октябрь 17, 2012, 14:36 »

Я так понял это для первой формы основной?
Записан
Andrey
Гость
« Ответ #6 : Октябрь 17, 2012, 14:37 »

а как для второй сделать нужно другой класс писать?
Записан
mutineer
Гость
« Ответ #7 : Октябрь 17, 2012, 14:38 »

да
Записан
Andrey
Гость
« Ответ #8 : Октябрь 17, 2012, 14:43 »

Покорно благодарю. Я конечно извиняюсь. А конструктор нового класса мне где нужно писать в файле mainwindow.cpp
Записан
mutineer
Гость
« Ответ #9 : Октябрь 17, 2012, 14:48 »

В файле, в котором у тебя находится реализация этого нового класса. А еще лучше воспользуйся мастером из криэйтора
Записан
Andrey
Гость
« Ответ #10 : Октябрь 17, 2012, 14:49 »

Спасибо! буду пробовать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.098 секунд. Запросов: 21.