【发布时间】:2018-06-25 17:03:17
【问题描述】:
我从文件夹中检索文件列表。 对于每个文件,我想输入它的日期(QString)和一个 QLabel。 对于每个文件,这三个元素将被放入 QListWidget。 我正确恢复了所有文件和日期。问题是这两个元素在两个不同的项目中。而且用这种方法,我不能把QLabel放在QListWidget中。
这是我的代码:
viewList.h:
class viewList : public QWidget{
Q_OBJECT
public:
viewList();
QString getDate();
private:
QGridLayout *gridlayout;
QHBoxLayout *hboxList;
QVBoxLayout *vboxlist;
QPushButton *button;
QLabel *myLabel;
QListWidget *listwidget;
};
viewList.cpp:
viewList::viewList(){
gridlayout=new QGridLayout;
vboxlist=new QVBoxLayout;
hboxList=new QHBoxLayout;
//Button is outside the list
button=new QPushButton("test",this);
myLabel=new QLabel("ok",this);
QString path="/home/myFolder";
listwidget=new QListWidget;
foreach(QString file, files){
listwidget->addItem(file);
listwidget->addItem(getDate());
}
vboxlist->addWidget(listwidget);
gridlayout->addWidget(button,0,0,1,1);
gridlayout->addLayout(vboxlist,1,0,1,1);
this->setLayout(gridlayout);
}
QString viewList::getDate(){
return QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
}
我的三个问题是,如果我做 listwidget-> addItem (myLabel) 它不起作用。此外,我想将文件和标签放在 QHBoxLayout 中,将 QHBoxLayout 放在 QVBoxLayout 中。但是用我的方法我做不到。最后,我希望 QLabel、QString(日期)和 QString(文件)在同一个项目中。
有人知道这样做的方法吗?现在我只在两个不同的项目中显示文件和日期。
【问题讨论】: