如何在QTableView中的一列或一行上添加控件

 我来答
百度网友96ffcf7
推荐于2018-04-13 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
首先,创建一个combobox代理
class ComboDelegate : public QItemDelegate
{
Q_OBJECT

public:
ComboDelegate(QObject *parent = 0);

QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
void setEditorData(QWidget *editor, const QModelIndex &index) const;
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
实现里面声明的方法,具体参考帮助文档。
然后,在表中,为某一列设置代理
比如,第二列
pComboDelegate = new ComboDelegate();
pTable->setItemDelegateForColumn(1, pComboDelegate);
这样,每行的第二列,需要编辑时,双击,就会出现combobox了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式