Qt 使用QTableView实现Excel的功能

你的OPPA 2017-06-01 11:26:15
如题所示:
使用QTableView或其他,实现Excel表格的所有基本功能:
1.添加/删除 行列
2.合并单元格
3.编辑文本
4.单元格样式设置
5.右键菜单
6.选中删除
······

难点就是合并单元格,其他的还行。
但是现在不知道怎么去重写QTableView控件;
求大神指点下
...全文
2689 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
环大明湖 2020-09-04
  • 打赏
  • 举报
回复
只用过Qtableview配Qsqltablemodel和Qsqlquerymodel
louis_liux 2020-08-07
  • 打赏
  • 举报
回复
引用 10 楼 Little柯南 的回复:
给你推荐个事例吧,不然怎么说,都不能完完全全教会你 《C++ GUI on Qt》里面有个spreadsheet电子表格的例子,里面对于QTableWidgetItem各种数据处理封装都比较到位,你看完大概就知道怎么写了
有这本书的链接吗
Little柯南 2017-06-07
  • 打赏
  • 举报
回复
给你推荐个事例吧,不然怎么说,都不能完完全全教会你 《C++ GUI on Qt》里面有个spreadsheet电子表格的例子,里面对于QTableWidgetItem各种数据处理封装都比较到位,你看完大概就知道怎么写了
civetfox21 2017-06-07
  • 打赏
  • 举报
回复
MVC的例子,Qt自带Demo例就有。
你的OPPA 2017-06-02
  • 打赏
  • 举报
回复
有没有什么Model和TableView相关的例子给我参考下呢
你的OPPA 2017-06-02
  • 打赏
  • 举报
回复
引用 4 楼 wn0112 的回复:
[quote=引用 3 楼 u011330815 的回复:] [quote=引用 2 楼 wn0112 的回复:] 需要重写吗? QTableView 的setSpan() 看看
合并单元格可以用SetSpan(),但是,右键菜单、单元格显示下拉框等功能不是需要重写嘛?[/quote] 右键菜单不用,下拉框应该也不用吧。但为了方便扩展还是自己写个比较好。 不就是继承QTableView,加一些自己写的功能函数吗?你的疑问难点在哪里[/quote] 现在的难点是我怎么把Model和View结合,另外,这个Model怎么和我定义好的数据结构结合
你的OPPA 2017-06-02
  • 打赏
  • 举报
回复
比如说,

class TabInfo
{
public:
	TabInfo(){}
	
public:
	int			nRow;
	int			nCol;
	int			nRowSpan;
	int			nColSpan;
	E_Type		mCellType;
	E_Input		mInput;
	E_Output	mOutput;
	QString		mMainStr;
}
这个结构是每个单元格对应的结构,我怎么去和Model结合,第一次用Model不清楚···
王桑的一天 2017-06-02
  • 打赏
  • 举报
回复
引用 5 楼 u011330815 的回复:
[quote=引用 4 楼 wn0112 的回复:] [quote=引用 3 楼 u011330815 的回复:] [quote=引用 2 楼 wn0112 的回复:] 需要重写吗? QTableView 的setSpan() 看看
合并单元格可以用SetSpan(),但是,右键菜单、单元格显示下拉框等功能不是需要重写嘛?[/quote] 右键菜单不用,下拉框应该也不用吧。但为了方便扩展还是自己写个比较好。 不就是继承QTableView,加一些自己写的功能函数吗?你的疑问难点在哪里[/quote] 现在的难点是我怎么把Model和View结合,另外,这个Model怎么和我定义好的数据结构结合[/quote] 不清楚你的数据结构,也不清楚你的需求
你的OPPA 2017-06-01
  • 打赏
  • 举报
回复
以前用过Qt,但都是简单的拖拖控件的,现在要重写一个控件,不知从何入手···
王桑的一天 2017-06-01
  • 打赏
  • 举报
回复
引用 3 楼 u011330815 的回复:
[quote=引用 2 楼 wn0112 的回复:] 需要重写吗? QTableView 的setSpan() 看看
合并单元格可以用SetSpan(),但是,右键菜单、单元格显示下拉框等功能不是需要重写嘛?[/quote] 右键菜单不用,下拉框应该也不用吧。但为了方便扩展还是自己写个比较好。 不就是继承QTableView,加一些自己写的功能函数吗?你的疑问难点在哪里
你的OPPA 2017-06-01
  • 打赏
  • 举报
回复
引用 2 楼 wn0112 的回复:
需要重写吗? QTableView 的setSpan() 看看
合并单元格可以用SetSpan(),但是,右键菜单、单元格显示下拉框等功能不是需要重写嘛?
王桑的一天 2017-06-01
  • 打赏
  • 举报
回复
需要重写吗? QTableView 的setSpan() 看看

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧