【发布时间】:2018-01-07 15:25:28
【问题描述】:
我创建了一个自定义小部件,其中包括带有 qlabel(包含图标)和 qcombobox 的垂直布局 我将它们用作列表小部件。 它们是基于具有 100 个图标的文件创建的。 我正在尝试创建一个在应用程序实时运行时缩放像素图大小的滑块。 我不知道如何正确编码,所以我可以访问这个属性。 这是mainwindow.cpp中的代码
/*load icons*/
QDir dir (....);
QFileInfoList list = dir.entryInfoList(QDir::AllEntries |
QDir::Dirs|QDir::NoDotAndDotDot);
for(int i=0 ; i < list.length() ; i++)
{
QIcon icon;
icon.addFile(list.at(i).absoluteFilePath(), QSize(), QIcon::Normal,
QIcon::Off);
mypix = icon.pixmap(QSize(128,128));
/*Custom Widget*/
widget.push_back(new QWidget(ui->listWidget));
widget[i]->setMinimumSize(QSize(0, 150));
/*the VB with of label-combo*/
layout.push_back(new QVBoxLayout(widget[i]));
/*Qlabel that holds the icon*/
pic.push_back(new QLabel (widget[i]));
pic[i]->setPixmap(mypix);
layout[i]->addWidget(pic[i]);
box.push_back(new QComboBox(widget[i]));
box[i]->addItem(list.at(i).baseName());
layout[i]->addWidget(box[i]);
QListWidgetItem * qlistwidgetitem = new QListWidgetItem;
ui->listWidget->addItem(qlistwidgetitem);
ui->listWidget->setItemWidget(ui->listWidget->item(i),widget[i]);
}
}
【问题讨论】:
-
什么是 push_back?
标签: c++ qt qt5 qwidget qlistwidget