查看完整版本: [-- 演示TreeView,TableView和Delegate的使用 --]

QTCN开发网 -> Qt代码秀 -> 演示TreeView,TableView和Delegate的使用 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

lemonzll 2016-12-09 14:20

演示TreeView,TableView和Delegate的使用

在基础编程区看见有人问TreeView之类的使用,有时间就写了个示例程序,大概演示了下TreeView,TableView还有Delegate的使用。以前刚学的时候也折腾了挺久。有兴趣的可以看下。程序用Qt5写的,我这边的编译环境是MSVC2015,其实就用了C++11,稍微改下可以用其他编译器编译的。

zhuifengwy 2016-12-20 15:17
学习学习

徐平789699 2017-01-10 21:23
今天把你的代码一行行都看了,对模型视图的学习很有帮助,还学到了些新的编写代码方式,不知道是不是有什么思想模式在里面呢?

徐平789699 2017-01-10 21:26
我就懂c++语法什么的,也没学过什么c++编程模式,程序的安全性和稳定性都不太好,不知道你能不能给些建议

徐平789699 2017-01-10 21:39
这里的    [this]{...}()    不太明白,我没看见过这种写法,能不能帮我解释下呢?

lemonzll 2017-01-12 09:20
徐平789699:这里的    [this]{...}()    不太明白,我没看见过这种写法,能不能帮我解释下呢? (2017-01-10 21:39)

[this]{...}()这个是C++11的lambda表达式语法,你可以查下。最后加的()相当于调用了这个匿名的lamba表示式

lemonzll 2017-01-12 09:26
徐平789699:我就懂c++语法什么的,也没学过什么c++编程模式,程序的安全性和稳定性都不太好,不知道你能不能给些建议
 (2017-01-10 21:26) 

这个也就用了默认的MVC的思想,其他的也都没用。一般程序稳定性不好多是内存分配和释放的问题,你就写程序的时候注意下基本的写法,比如QObject子类需要设置parent,多用QPointer类,多判断下是否是空指针,QObject子类删除的时候最好用deleteLater()函数

徐平789699 2017-01-12 11:08
lemonzll:这个也就用了默认的MVC的思想,其他的也都没用。一般程序稳定性不好多是内存分配和释放的问题,你就写程序的时候注意下基本的写法,比如QObject子类需要设置parent,多用QPointer类,多判断下是否是空指针,QObject子类删除的时候最好用deleteLater()函数 (2017-01-12 09:26) 

谢谢啊,学到了

黑佐 2017-01-16 08:52

disongshu 2017-01-16 22:27
    

flycn 2017-01-22 09:59
楼主这种用法还是有内存泄露

class PathEditor::PathEditorPrivate
{
public:
    QLineEdit* edit = Q_NULLPTR;
    QPushButton* btn = Q_NULLPTR;
};

const QScopedPointer<PathEditorPrivate> d(new PathEditorPrivate);

QScopedPointer只会删除d,不会对内部的edit调用delete

见:https://github.com/LeetcodeCN/leetcodecn.github.io/blob/master/src/scopedpointer/myscopedpointer.h

lemonzll 2017-01-22 17:30
flycn:楼主这种用法还是有内存泄露
class PathEditor::PathEditorPrivate
{
public:
....... (2017-01-22 09:59) 

d是靠QScopedPointer删除的,edit是添加到PathEditor的layout里面了,就设置有parent,当PathEditor删除的时候会先删除所有的children,这时edit就删除了,没有内存泄漏。你可以关联下edit的destroyed的signal试下,会触发这个signal,也就是被删除了

clickto 2017-10-24 13:51
感谢楼主!!1

alone_work 2018-01-24 21:43

alone_work 2018-01-24 22:05
楼主这代码写的太牛逼了!好多都看不懂啊!惭愧啊

john123456 2019-07-24 18:46
不错不错,值得学习

程序猿凯 2020-11-09 16:55
是不是大神都喜欢用auto类型,这个类型可以用于所有的类型?

f12x45q56 2020-11-25 11:20
感谢楼主的分享 谢谢

delegate 2020-12-18 22:03

塞车王 2022-05-25 09:53
你好,请问以下自己写了一个listView的item条目展示,每个条目中都有一个checkBox,在第一页选中一个checkBox,后面几页都会被选中,需求是只选中一个页面的就行,不想关联。请问有什么办法吗


查看完整版本: [-- 演示TreeView,TableView和Delegate的使用 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled