qt label标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt label标签相关的知识,希望对你有一定的参考价值。

如何建立8*8=64个label
怎么循环,不想写64遍
实现可点击的label
比如像连连看那样,点击一个图标显示别的图片

参考技术A 大致是这样的
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 )
这几个函数来完成图片转换功能。本回答被提问者采纳
参考技术B 定义成员变量:   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);

以上是关于qt label标签的主要内容,如果未能解决你的问题,请参考以下文章

qt 编程中 怎么让图片随着标签(label)的变大而变大

怎么让label标签中的文字居中显示

label标签的用法

label标签跳出循环

QT label上显示图片的问题。

调整 qt-label 中的图像大小