首先,创建一个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了
设置垂直头不可见
实现代码:tabeWidget->verticalHeader()->setVisible(false);
改变颜色以及样式通过setStyleSheet()改变
例如:tableWidget->setStyleSheet("selection-background-color:lightblue;");//设置选择背景色为"淡蓝色"
以上就是关于如何在QTableView中的一列或一行上添加控件全部的内容,包括:如何在QTableView中的一列或一行上添加控件、QTableview 怎样用 stylesheet 实现 选中行背景色保持原有颜色不变,但是加粗选中行边框、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)