(1)生成如下窗体,其对应的 ui_widget . h 头文件如下,以此学习列表窗体的代码使用 :
(2)
#ifndef UI_WIDGET_H
#define UI_WIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QListWidget>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_Widget
{
public:
QVBoxLayout * verticalLayout;
QPushButton * pushButton;
QListWidget * listWidget;
void setupUi(QWidget * Widget)
{
if (Widget->objectName().isEmpty())
Widget->setObjectName(QString::fromUtf8("Widget"));
Widget->resize(96, 108);
QFont font;
font.setPointSize(14);
Widget->setFont(font); //这一段是设置主窗体的,并给予了垂直布局。
Widget->setContextMenuPolicy(Qt::CustomContextMenu);
verticalLayout = new QVBoxLayout(Widget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
pushButton = new QPushButton(Widget); //把按钮加入到窗体布局中
pushButton->setObjectName(QString::fromUtf8("pushButton"));
verticalLayout->addWidget(pushButton);
listWidget = new QListWidget(Widget); //生成带了元素的列表窗体,并加入垂直布局。
new QListWidgetItem(listWidget); //没有指针变量接收这三个堆区条目,
new QListWidgetItem(listWidget); //但顺带被加入了列表窗体容器。
new QListWidgetItem(listWidget);
listWidget->setObjectName(QString::fromUtf8("listWidget"));
verticalLayout->addWidget(listWidget);
retranslateUi(Widget);
QMetaObject::connectSlotsByName(Widget); //允许信号与槽的名称连接。
} // setupUi
void retranslateUi(QWidget *Widget)
{
Widget ->setWindowTitle(QCoreApplication::translate("Widget", "H", nullptr));
pushButton->setText (QCoreApplication::translate("Widget",
"pushButton", nullptr));
const bool __sortingEnabled = listWidget->isSortingEnabled();
listWidget->setSortingEnabled(false); //先取消列表窗体里对元素的布局要求,以便修改元素数据。
QListWidgetItem * ___qlistwidgetitem = listWidget->item(0); //避免变量重名。
___qlistwidgetitem->setText(QCoreApplication::translate("Widget", "a", nullptr));
QListWidgetItem * ___qlistwidgetitem1 = listWidget->item(1);
___qlistwidgetitem1->setText(QCoreApplication::translate("Widget", "b", nullptr));
QListWidgetItem * ___qlistwidgetitem2 = listWidget->item(2);
___qlistwidgetitem2->setText(QCoreApplication::translate("Widget", "c", nullptr));
listWidget->setSortingEnabled(__sortingEnabled); //恢复程序员对表格窗体设置的排序要求。
} // retranslateUi
};
namespace Ui {
class Widget: public Ui_Widget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_WIDGET_H
(3)
谢谢