当没有ui文件的时候写界面,界面上的元素都是对象,这些对象都要在头文件里先定义才能在之后显示出来。在写函数渲染界面的时候直接用定义的对象使用“."这个点来调用这个界面元素的的一些方法,例如
void ImageWidget::slot_itemClicked(QListWidgetItem * item) {
QStringList img_lst;
QString srcDirPath = "C:/Users/Admin/Desktop/IMAGE/IMAGE_OS";
img_lst = getDirFilesName(srcDirPath);
label_a.setPixmap(QPixmap(srcDirPath+ "\\" + img_lst .at(ui->listWidget->row(item))));
label_a.showMaximized();
}
.h文件里定义label对象一个,这界面上要显示的元素label就会显示出来
private slots:
void slot_itemClicked(QListWidgetItem * item);
private:
QLabel label_a;
如果要换成带ui文件的,需要在那个可以拖动的界面给那个label元素命名为label_a,就相当于有label对象可以用了:
void AutoAdd::slot_itemClicked(QListWidgetItem * item) {
QStringList img_lst;
QString srcDirPath = "C:/Users/Admin/Desktop/IMAGE/IMAGE_OS";
img_lst = getDirFilesName(srcDirPath);
ui->label_a->setPixmap(QPixmap(srcDirPath + "\\" + img_lst.at(ui->listWidget->row(item))));
ui->label_a->show();
}
这时使用ui和->来调用对象和方法,就可以了。
总结一下:就是没有ui文件要在头文件里定义你要用的界面元素的对象,使用点调用。
有ui文件的,先在ui文件上放一个元素并且命名,名称和.cpp代码了的一致,不需要去头文件里定义就可以用这个对象了,然后用ui->,方法的调用也用->。这个虽然简单,但是几乎找不到哪里有讲的,当时对于初学者遇到的时候还是有些头疼的,这里记录一下。