迎接新的一年
lowsfer 说:
2010/01/21 22:35
2010/01/21 22:35
对不起之前打扰了。
想明白了,第二种对于QT来说好像是错误的。
parent widget析构时会delete 子widget,这里就是delete &quit.如果用第二种写法就会因为出错是么?
有没有办法(设置宏之类的)把QT的这个feature disable掉啊?还是想用第二种做法,感觉第一种基本还是面向过程的设计,整个类就写了一个函数,东西全在这一个函数里面实现了,虽然用了继承。感觉第二种比较有OO特征。
想明白了,第二种对于QT来说好像是错误的。
parent widget析构时会delete 子widget,这里就是delete &quit.如果用第二种写法就会因为出错是么?
有没有办法(设置宏之类的)把QT的这个feature disable掉啊?还是想用第二种做法,感觉第一种基本还是面向过程的设计,整个类就写了一个函数,东西全在这一个函数里面实现了,虽然用了继承。感觉第二种比较有OO特征。
admin 回复于 2010/02/04 22:55
不好意思,留言一直不太关注,没有注意到
我会用qt,不过不会用C++的qt,我只会用python和qt的绑定编程。C++我看不懂的。py的OO和C++的OO又存在很大不同,简单很多
我建议你一个好地方,我的blog侧边栏链接有个Qt!Qt!,希望有用。
我会用qt,不过不会用C++的qt,我只会用python和qt的绑定编程。C++我看不懂的。py的OO和C++的OO又存在很大不同,简单很多
我建议你一个好地方,我的blog侧边栏链接有个Qt!Qt!,希望有用。
lowsfer 说:
2010/01/21 19:17
2010/01/21 19:17
三翻领兄,问你个qt编程的问题:
最近在学习QT。看到QT官方文档上面的范例,大多是下面的风格。里面的一些组件,比如下面的quit,使用的都是用new动态创建。
class MyWidget : public QWidget {
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent) {
setFixedSize(200, 120);
QPushButton *quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62, 40, 75, 30);
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
我以前没怎么用过OO编程,只是了解一点概念。
这个class如果没有参考,我自己写的话,我估计会写成这样:
class MyWidget : public QWidget{
public:
MyWidget (QWidget *parent = 0);
private:
QPushButton quit;
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent), quit(tr("Quit"),this){
setFixedSize(200,100);
quit.setGeometry (62, 40, 75, 30);
quit.setFont(QFont("Dejavu Sans", 18, QFont::Normal));
connect(&quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
区别是我的class里面quit是数据成员,而第一个里面quit是构造函数new出来的。
估计第一种会好一点,因为看到的好多范例都是这样处理的,QT还为此省略了delete来方便这种风格。
我想问你一下第二种风格的主要缺点在哪里?难道第一种就是为了在widget多的时候,把一个object拆分在很多块内存里面存储么?
最近在学习QT。看到QT官方文档上面的范例,大多是下面的风格。里面的一些组件,比如下面的quit,使用的都是用new动态创建。
class MyWidget : public QWidget {
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent) {
setFixedSize(200, 120);
QPushButton *quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62, 40, 75, 30);
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
我以前没怎么用过OO编程,只是了解一点概念。
这个class如果没有参考,我自己写的话,我估计会写成这样:
class MyWidget : public QWidget{
public:
MyWidget (QWidget *parent = 0);
private:
QPushButton quit;
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent), quit(tr("Quit"),this){
setFixedSize(200,100);
quit.setGeometry (62, 40, 75, 30);
quit.setFont(QFont("Dejavu Sans", 18, QFont::Normal));
connect(&quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
区别是我的class里面quit是数据成员,而第一个里面quit是构造函数new出来的。
估计第一种会好一点,因为看到的好多范例都是这样处理的,QT还为此省略了delete来方便这种风格。
我想问你一下第二种风格的主要缺点在哪里?难道第一种就是为了在widget多的时候,把一个object拆分在很多块内存里面存储么?
白云 说:
2009/06/06 11:26
2009/06/06 11:26
你好,好久没你的消息,好吗.呵呵,在此祝福你一切顺利.
白云 说:
2009/02/23 19:31
2009/02/23 19:31
你好吗,还记得我吗,呵呵
admin 回复于 2009/02/24 19:52
白云你好。
我现在是前所未有的好,希望你也好
我现在是前所未有的好,希望你也好
ttt 说:
2009/02/10 15:05
2009/02/10 15:05
海豚抱抱
说:
2008/12/15 21:53
说:2008/12/15 21:53
您好,今天装了UBUNTU然后下载了达人做的歌词插件,却总是提示无法从服务器上找到歌词。不知道是什么原因。看看版本是0。90的。不会这么快过期,导致下载接口失效了吧?
admin 回复于 2008/12/26 10:41
是常见歌曲吗?amarok中显示乱码吗?
5312321177
说:
2008/11/25 18:17
说:2008/11/25 18:17
你好,个人空间很漂亮,怎么做的要你请教。顶级域名怎么申请的?免费?向你请教
admin 回复于 2008/12/26 10:42
这方面都是朋友帮忙弄的,域名申请很容易的,blog系统下载后上传搭建即可。
有点白
说:
2008/11/23 23:38
说:2008/11/23 23:38
喜欢BLOG风格,可以发我一份不?谢谢。。。
alittlewhite.developer(at)gmail.com
alittlewhite.developer(at)gmail.com
admin 回复于 2008/12/26 10:42
可以搜索bo-blog的风格,很多的
qqq984242209 说:
2008/11/23 08:22
2008/11/23 08:22
qqq984242209 说:
2008/11/23 08:18
2008/11/23 08:18
godson 说:
2008/11/15 17:59
2008/11/15 17:59
我想要它启动时自动OSD和顶置,请问怎样设置?
admin 回复于 2008/12/26 10:43
暂时还没有这个功能,原先有的,但是发现如果在全屏状态下退出,再启动后会出错,因此暂时取消了。






2010/02/07 13:24