1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Помогите Найти Ошибку (qt)

Тема в разделе "Вопросы новичков и не только", создана пользователем SchwarzeWolfin, 25 окт 2011.

Статус темы:
Закрыта.
  1. SchwarzeWolfin

    Репутация:
    0
    Регистрация:
    28 ноя 2010
    Сообщения:
    9
    Симпатии:
    0
    сама программа до безобразия проста и бессмысленна,но суть не в этом. и т.к. в Qt раньше работать не приходилось возникло некоторое недопонимание. объясните чайнику как правильно работать с наследованием,чтобы в дальнейшем избегать подобных ошибок (в данном случае проблема со строкой return app.exec())

    Код:
    #include <QtGui>
    
    using namespace std;
    
    class MyApplication: QApplication{
    public:
    MyApplication(int&,char**);
    ~MyApplication();
    public slots:
    void resultClicked(QCheckBox*box1,QCheckBox*box2,QMessageBox*mbox,QVBoxLayout*layout1){
    if(box1->isChecked())
    if(box2->isChecked())
    mbox->setText("you like apples & oranges");
    else
    mbox->setText("you like apples");
    else
    if(box2->isChecked())
    mbox->setText("you like oranges");
    else
    mbox->setText("you don't like this fruits");
    }
    
    };
    
    int main(int argc, char *argv[])
    {
    MyApplication app(argc,argv);
    QWidget *window=new QWidget;
    window->setWindowTitle("What fruits do you like?");
    QLabel *label=new QLabel ("What fruits do you like?");
    QCheckBox *box1=new QCheckBox("apples");
    QCheckBox *box2=new QCheckBox("oranges");
    QPushButton *result=new QPushButton("Result");
    QMessageBox *mbox=new QMessageBox;
    QVBoxLayout *layout1=new QVBoxLayout;
    QVBoxLayout *layout2=new QVBoxLayout;
    QVBoxLayout *layout3=new QVBoxLayout;
    QVBoxLayout *layout4=new QVBoxLayout;
    layout2->addWidget(label);
    layout3->addWidget(box1);
    layout3->addWidget(box2);
    layout4->addWidget(result);
    layout1->addLayout(layout2);
    layout1->addLayout(layout3);
    layout1->addLayout(layout4);
    layout1->addWidget(mbox);
    window->setLayout(layout1);
    QObject::connect(result,SIGNAL(clicked()),qApp,SLOT(resultClicked()));
    
    window->show();
    return app.exec();
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей