(27)模型视图架构里的列表窗体视图 QListWidget 的代码使用范例,举一个小例子

(1)生成如下窗体,其对应的 ui_widget . h 头文件如下,以此学习列表窗体的代码使用

(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)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangzhangkeji

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值