Название: менеджер размещений в конструкторе Отправлено: anater от Декабрь 25, 2009, 17:44 Добрый день.
Проблема в следующем: При создании менеджера размещения в конструкторе менеджер не отрабатывает. Выдается в отладке такая штука. QWidget::setLayout: Attempting to set QLayout "" on qarm "", which already has a layout Уж что только не делал не работает и все тут. Рекомендации прочитать мануал и погуглить не нужны. Имеется код main #include <qarm.h> #include <QtGui> #include <QtGui/QMainWindow> int main(int argc, char *argv[]) { QApplication app(argc, argv); qarm q; return app.exec(); }; хейдер #ifndef QARM_H #define QARM_H #include <QtGui/QMainWindow> class qarm : public QMainWindow { Q_OBJECT public: qarm(QWidget *parent = 0); public slots: int read_set(); }; #endif // QARM_H код класса #include <iostream> #include <cstdlib> #include "qarm.h" #include <QtGui/QMainWindow> #include <QPushButton> #include <QDesktopWidget> #include <QtGui> //#include <QHBoxLayout> #include "sysfunc.h" qarm::qarm(QWidget *parent) : QMainWindow(parent) { //Окно перекрывает весь рабочий стол this->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | Qt::ToolTip); //Разрешение экрана QDesktopWidget *d =QApplication::desktop(); int x=d->width(); int y=d->height(); std::cout << x<< " " << y << std::endl; //Окно во весь экран //this->setGeometry(0,0,x,y); this->setGeometry(0,0,640,480); //Кнопка выход временная QPushButton *qb = new QPushButton("EXIT",this); //qb->setGeometry(10,10,100,30); connect(qb,SIGNAL(clicked()),this,SLOT(close())); //Кнопка сетевого запроса настроек QPushButton *qb2 = new QPushButton("SETTING",this); //qb2->setGeometry(500,10,100,30); connect(qb2,SIGNAL(clicked()),this,SLOT(read_set())); QPushButton *button1 = new QPushButton("One"); QPushButton *button2 = new QPushButton("Two"); QPushButton *button3 = new QPushButton("Three"); QPushButton *button4 = new QPushButton("Four"); QPushButton *button5 = new QPushButton("Five"); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(button1); layout->addWidget(button2); layout->addWidget(button3); layout->addWidget(button4); layout->addWidget(button5); this->setLayout(layout); this->show(); }; int qarm::read_set() { int result2; result2 =lcon(); QString str2=QString("%1").arg(result2); //str2.setNum(st.param1); //ui->textEdit->append(str2); std::cout << "result2 " << result2 << std::endl; return 0; }; Название: Re: менеджер размещений в конструкторе Отправлено: Пантер от Декабрь 25, 2009, 17:52 Я тоже когда начал изучать Кьют напоролся на это. :)
Код Предупреждение - используй теги для оформления кода. Название: Re: менеджер размещений в конструкторе Отправлено: anater от Декабрь 28, 2009, 17:51 Я тоже когда начал изучать Кьют напоролся на это. :) Код Предупреждение - используй теги для оформления кода. Все сделал именно так. Работает. Респект! |