В цикле "хитро" размещаю сабклас от QPushButton :
int k,l=0;
for(int i=0;i<etalons.size();++i)
{
ui->gridLayout->addWidget(etalons[i],k,l);
if(l!=2)
++l;
else
{
l=0;
++k;
}
}
Где-то я уже видел эту программу...
Без исходников сложно сказать что-либо.
Интересно где, если я её вчера начал писать?)
А какие исходники?Вся загвоздка в этом цикле идет, если сделать простое добавление (без указания номера строки и столбца) то все нормально.
Добавил код :
#ifndef ETALON_H
#define ETALON_H
#include <QPushButton>
#include <QPixmap>
#include <QFile>
#include <QDataStream>
#include <QIcon>
class Etalon : public QPushButton
{
Q_OBJECT
private:
QFile * etalonFile_;
QPixmap * picture_;
public:
explicit Etalon(QWidget *parent = 0);
Etalon (QString name);
QString getName() {return this->text();};
QPixmap * picture() {return this->picture_;};
void setPixmap(QPixmap pixmap) {delete picture_; this->picture_ = new QPixmap(pixmap);};
signed int state;// -1 - nothing, 0 - new, 1 - name edited, 2 - image edited, 3- name and image edited
signals:
public slots:
void updateIcon();
};
#endif // ETALON_H
#include "etalon.h"
#include <QDebug>
Etalon::Etalon(QWidget *parent) :
QPushButton(parent)
{
picture_ = new QPixmap(240,240);//empty pixmap
picture_->fill();
}
Etalon::Etalon(QString name)
{
this->state=-1;
this->setText(name);
picture_ = new QPixmap();
if(picture_->load(".\\images\\"+this->text()+".PNG"))
this->updateIcon();
}
void Etalon::updateIcon()
{
this->setIcon(QIcon(*picture_));
}
void MainWindow::setEtalonsButton()
{
int k,l=0;
for(int i=0;i<etalons.size();++i)
{
ui->gridLayout->addWidget(etalons[i],k,l);
if(l!=2)
++l;
else
{
l=0;
++k;
}
}
}
etalons
переменная какой тип?void QLayout::addWidget ( QWidget * w )
void QGridLayout::addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )
etalons вектор Etalon, а Etalon Эт сабкласс от QPushbutton.
Спасибо, сейчас посмотрю именно код..
Ну у меня в QtCreator все нормально читается:)
void MainWindow::setEtalonsButton()
{
int k,l=0;
...
}
Ох моя память..подумал про множественную инициализацую в таком виде и сгрешил..простите:)
Спасибо!
Оффтопик мы с тобой щас разведем!Это было простой рекогнайзер, алгоритм другой. А сейчас почти такая же, только алгоритм другой, любые символы.в общем другая лаба:)Ту программу я давно донаписал!
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)