Название: Не открывается виджет????
Отправлено: Garik от Май 10, 2011, 18:52
ДОброго всем дня!!! возникла простейшая проблема с которая завела в тупик!!!!! суть в том что просто надо из под созданого главного Виджета запустить сцену, например нажав кнопку!!! делаю через view.show(); ничего не выходит( #include <my_widget.h> #include <QtGui> #include <QTextFormat> #include <QFontMetrics> #include <QDebug>
MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { CreatOptions(); CreateButtons();
viewwidget = new ViewWidget;
QLineEdit *lineEdit = new QLineEdit; comboFont=new QFontComboBox; QGridLayout *layout = new QGridLayout;
layout->addWidget(comboFont, 0, 0); layout->addWidget(h_board,0,1); layout->addWidget(w_board,0,2); layout->addWidget(lineEdit, 1, 0); layout->addWidget(viewwidget, 2, 0); //////////////// layout->addWidget(pushButton1, 3, 0); layout->addWidget(pushButton2, 3, 1); setLayout(layout);
connect(pushButton2, SIGNAL(clicked()),this,SLOT(buttonclick())); resize(300, 300); }
////////////////////////////////////////////////////////// void MyWidget::CreatOptions() { h_board = new QSpinBox; h_board->setRange(1, 4); h_board->setSpecialValueText(tr("1 (h_board)"));
w_board = new QSpinBox; w_board->setRange(1,15); w_board->setSpecialValueText(tr("1 (w_board)")); }
void MyWidget::CreateButtons() { pushButton1 = new QPushButton(tr("&Preview Board")); pushButton2 = new QPushButton(tr("&Make File")); } ////////////////////////////////////////////////////////// void MyWidget::buttonclick() { qDebug()<<" is work";
QGraphicsScene scene; QGraphicsView view(&scene); view.show(); }
В чем может быть проблема??? заранее благодарен...
Название: Re: Не открывается виджет????
Отправлено: blood_shadow от Май 10, 2011, 19:02
весь код не разбирал, но по этому: C++ (Qt) void MyWidget::buttonclick() { qDebug()<<" is work"; QGraphicsScene scene; QGraphicsView view(&scene); view.show(); }
ты создаешь два объекта на стеке при нажатии на кнопку, то есть когда будет выход со слота твои объекты умрут тебе нужно их создать с помощью оператора new(динамически)
Название: Re: Не открывается виджет????
Отправлено: Garik от Май 10, 2011, 19:09
весь код не разбирал, но по этому: C++ (Qt) void MyWidget::buttonclick() { qDebug()<<" is work"; QGraphicsScene scene; QGraphicsView view(&scene); view.show(); }
Благодарю!!!! Понял!!! ты создаешь два объекта на стеке при нажатии на кнопку, то есть когда будет выход со слота твои объекты умрут тебе нужно их создать с помощью оператора new(динамически)
|