qt label标签
发布网友
发布时间:2022-04-25 15:16
我来回答
共2个回答
热心网友
时间:2022-04-28 03:30
大致是这样的
QLabel *numlabel[64];
QVBoxLayout *lay = new QVBoxLayout(); //定义一种自己的布局
for(int i=0;i<64i++)
{
numlabel[i] = new QLabel(this);
//设置每个label的图片为../picture'i'.png
QString nump = QString::number(i);
nump.prepend("../picture");
nump.append(".png");
numlabel[i]->setPixmap(QPixmap(nump));
lay->addWidget(numlabel[i]);
}
如果要实现点击label,由于QLabel不像QPushButton有点击signal,可以用QLabel派生一个子类MyLabel并重新实现
virtual void mouseMoveEvent ( QMouseEvent * ev )
virtual void mousePressEvent ( QMouseEvent * ev )
virtual void mouseReleaseEvent ( QMouseEvent * ev )
这几个函数来完成图片转换功能。
热心网友
时间:2022-04-28 04:48
定义成员变量: QGroupBox *dataGroupBox; QGridLayout *datalayout;
dataGroupBox = new QGroupBox;
gridGroupBox->setTitle(tr("Buttons"));
datalayout = new QGridLayout;
QLabel field[8*8];
for(i = 0; i < 64; i++){
field[i] = new QLabel("test");
datalayout->addWidget(field[i],i/8,i%8);
}
dataGroupBox->setLayout(datalayout);