Qt 实战(10)模型视图 | 10.7、自定义 QTableWidget

一、自定义 QTableWidget

1、创建 QTableWidget

基于VS+Qt创建一个Qt项目,通过Qt Designer创建QTableWidget,完整代码参考附件,界面如下图:

在这里插入图片描述

2、设置代理

给地址列设置代理,要求如下:

  • QComboBox作为编辑控件。
  • 下拉列表内容变更时,发出一个OnCurrentTextChanged信号。

代理代码如下:

QWidget *MyAddrDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
   
   
    QComboBox *editor = new QComboBox(parent);
    if (editor == nullptr)
        return nullptr;

    QStringList itemList;
    itemList << QString("北京");
    itemList << QString("上海");
    itemList << QString("西安");

    editor->addItems(itemList);
    editor->setFrame(false);
    return editor;
}

void MyAddrDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
{
   
   
    QComboBox *combox = static_cast<QComboBox*>(editor);
    combox->setCurrentIndex(combox->findText(index.model()->data(index, Qt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值