Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 14.05.2018, 16:53   #1
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 153
Репутация: 10
По умолчанию Открывается два виджета одновременно

У меня есть 4 виджета : startWidget, mainWidget, student widget, teacherWidget.
В startWidget я выбираю который открыть student widget или teacherWidget и на заднем фоне у меня открыт mainWidget. Как сделать чтобы student widget, teacherWidget открывалися в mainWidget а не в другом окне?
Код:

#ifndef MAINWIDGET_H
#define MAINWIDGET_H

class StudentWidget;
class TeacherWidget;

class MainWidget : public QWidget
{
    Q_OBJECT

public:
    MainWidget(QWidget* parent = 0);
    ~MainWidget();
};

#endif // MAINWIDGET_H

Код:

#include "MainWidget.h"
#include "StudentWidget.h"
#include "TeacherWidget.h"

MainWidget::MainWidget(QWidget* parent)
    : QWidget(parent)
{
    setWindowTitle("Тесты");
    setWindowModality(Qt::WindowModal);
}

MainWidget::~MainWidget()
{
}

Код:

#include "StudentWidget.h"


StudentWidget::StudentWidget(QWidget* parent)
    : QWidget(parent)
{
    setWindowTitle("Студент");
    setWindowModality(Qt::WindowModal);
}

StudentWidget::~StudentWidget()
{
}

Код:

#include "TeacherWidget.h"


TeacherWidget::TeacherWidget(QWidget* parent)
    : QWidget(parent)
{
    setWindowTitle("Учитель");
    setWindowModality(Qt::WindowModal);
}

TeacherWidget::~TeacherWidget()
{
}

Код:

#include "StudyTests.h"
#include "MainWidget.h"
#include "StudentWidget.h"
#include "TeacherWidget.h"
#include "StartProgramMenuWidget.h"
#include "HelpWidget.h"

int StudyTests::runGame()
{
    mMainWidget = new MainWidget();
    mMainWidget->show();

    StartProgramMenuWidget startProgramMenu;

    connect(&startProgramMenu, SIGNAL(startProgramStudent()), this, SLOT(startProgramStudent()));
    connect(&startProgramMenu, SIGNAL(startProgramTeacher()), this, SLOT(startProgramTeacher()));
    connect(&startProgramMenu, SIGNAL(exitProgram()), this, SLOT(exitProgram()));
    connect(&startProgramMenu, SIGNAL(showHelp()), this, SLOT(showHelp()));
    startProgramMenu.exec();

    return 0;
}

void StudyTests::startProgramStudent()
{
    mStudentWidget = new StudentWidget();
    mStudentWidget->show();
    mMainWidget->close();

}
void StudyTests::startProgramTeacher()
{
    mTeacherWidget = new TeacherWidget();
    mTeacherWidget->show();
    mMainWidget->close();
}

void StudyTests::exitProgram()
{
    mMainWidget->close();
}

void StudyTests::showHelp()
{
   HelpWidget helpWidget;
   helpWidget.exec();
}

StudyTests::~StudyTests()
{
    delete mMainWidget;
    delete mStudentWidget;
    delete mTeacherWidget;
}

dimaSlon вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Могут ли быть два одинаковых ip в сети одновременно? Ale}{ander Свободное общение 31 05.01.2014 21:44
Два потока и ZQuery (ZeosBdo) не работают одновременно fezilk25 Общие вопросы Delphi 0 15.01.2013 00:42
Не работают два скрипта одновременно veec JavaScript, Ajax 1 03.11.2011 22:41
Не работают одновременно два скрипта MrJenika JavaScript, Ajax 0 17.04.2010 12:35
Проиграть два wav-файла одновременно apromix Мультимедиа в Delphi 1 18.08.2009 18:04


14:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru