主题 : 打开Qtopia2.2应用程序开发的神秘面纱(x86+arm+源代码+多媒体影音解说) 复制链接 | 浏览器收藏 | 打印
It's tomorrow  or nothing
级别: 新手上路
UID: 15077
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
贡献值: 0 点
综合积分: 52 分
注册时间: 2010-02-27
最后登录: 2010-08-08
110楼  发表于: 2010-02-28 11:24
吐血来捧场
mind over matter
级别: 新手上路
UID: 14471
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-02-10
最后登录: 2017-09-13
111楼  发表于: 2010-03-01 00:18
又来麻烦版主了,我按照版主hello例程的流程自己随便写了一个简单的界面,但是遇到一个问题,
比如我在hello_base.ui里加进了一些button和label,然后在自己编的hello.cpp中也加入button,hello.cpp中的写法完全参照自动产生的hello_base.cpp中的方法,但是按键的名字和文字及位置都有改变,可是用x86运行时怎么也显示不出来,只显示hello_base.cpp中的控件,不知道错在哪里?还请eddylau 版主赐教,多谢了!!!

事实上我现在是想实现lable的clicked()功能,我查阅网上的一些资料,说可以自定义clicklabel继承Qlable来实现,具体该怎么做呢,如果版主大人有空的话,可否把hello例程中的一个button改成clicklabel供我等菜鸟学习研究,在下将不胜感激。。。。。
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
112楼  发表于: 2010-03-01 10:56
引用第111楼st001于2010-03-01 00:18发表的  :
又来麻烦版主了,我按照版主hello例程的流程自己随便写了一个简单的界面,但是遇到一个问题,
比如我在hello_base.ui里加进了一些button和label,然后在自己编的hello.cpp中也加入button,hello.cpp中的写法完全参照自动产生的hello_base.cpp中的方法,但是按键的名字和文字及位置都有改变,可是用x86运行时怎么也显示不出来,只显示hello_base.cpp中的控件,不知道错在哪里?还请eddylau 版主赐教,多谢了!!!

事实上我现在是想实现lable的clicked()功能,我查阅网上的一些资料,说可以自定义clicklabel继承Qlable来实现,具体该怎么做呢,如果版主大人有空的话,可否把hello例程中的一个button改成clicklabel供我等菜鸟学习研究,在下将不胜感激。。。。。

不能直接修改hello_base.ui档, 要在Qt designer修改.

请提供你的hello.cpp代码, 否则请恕在下无能为力.

要实现lable的clicked()功能, 可利用signal/slot的机制.
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 14471
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-02-10
最后登录: 2017-09-13
113楼  发表于: 2010-03-01 12:33
恩 因为我并没做什么实际的功能,所以没提供源码,我就是按照版主大人的视频教学过程,用
Qt designer放置了一个button和lable,保存生成hello_base.ui,依照版主的hello.cpp和hello.h稍作修改,然后在增加了hello.cpp中的开头部分增加如下语句
  TestLabel1 = new QLabel( this, "TextLabel1" );
    TestLabel1->setGeometry( QRect( 20, 10, 80, 50 ) );
    TestLabel1->setText( tr( "Test" ) );
hello.h中也有增加相应的QLabel* TestLabel1声明,
然后用版主提供的build-all编译通过,
接着使用run-all运行,发现,用Qt designer放置的button和lable正常显示了,而在hello.cpp中自定义的TestLabel1没有在窗口显示出来,我修改TestLabel1->setGeometry( QRect( 20, 10, 80, 50 ) ); 设置不同位置也没反应,因为小弟刚学QT,以前也没类似经验,所以这么基础的问题都来烦扰版主,真是不好意思。

另外版主可否将hello例程中的一个button改成clicklabel供学习研究呢,可能此有求过分了点,我是想从模仿中尽快搞懂一些基本的编程方法,望版主赐教。。
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
114楼  发表于: 2010-03-01 13:50
引用第113楼st001于2010-03-01 12:33发表的  :
恩 因为我并没做什么实际的功能,所以没提供源码,我就是按照版主大人的视频教学过程,用
Qt designer放置了一个button和lable,保存生成hello_base.ui,依照版主的hello.cpp和hello.h稍作修改,然后在增加了hello.cpp中的开头部分增加如下语句
  TestLabel1 = new QLabel( this, "TextLabel1" );
    TestLabel1->setGeometry( QRect( 20, 10, 80, 50 ) );
    TestLabel1->setText( tr( "Test" ) );
.......

自行编写代码来产生GUI与用Qt designer来产生GUI不能同时使用.
若要自行编写代码来产生GUI, 请勿使用Qt designer.

label 的click功能与button的click功能都是用signal/slot机制来实行的.
若你明白button的click功能是如何实现, 为何会不懂如何实现label 的click功能呢?

若自己不去思考, 不去尝试, 只会养成永远依赖他人的习惯.

从失败中获取经验比模仿他人的代码更为有效!
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 14471
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-02-10
最后登录: 2017-09-13
115楼  发表于: 2010-03-01 15:35
感谢版主的热心
按照我的理解是增加一个mousePressEvent函数,根据判断坐标是否在label范围内来发送信号,来实现lable的clicked功能,是否是这样呢?

另外如果我想定义一个带click功能label新类来实现,那么该怎么使用这个类呢,按照版主上面的说法是不是就不能使用Qt designer,而只能靠自行编写代码来生成GUI?
如果是自行编写代码生成GUI,具体流程是怎样?
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
116楼  发表于: 2010-03-01 18:20
引用第115楼st001于2010-03-01 15:35发表的  :
感谢版主的热心
按照我的理解是增加一个mousePressEvent函数,根据判断坐标是否在label范围内来发送信号,来实现lable的clicked功能,是否是这样呢?

另外如果我想定义一个带click功能label新类来实现,那么该怎么使用这个类呢,按照版主上面的说法是不是就不能使用Qt designer,而只能靠自行编写代码来生成GUI?
如果是自行编写代码生成GUI,具体流程是怎样?

建议各下认真地花点时间研读一下Qt2.2附带的例程.
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 14471
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-02-10
最后登录: 2017-09-13
117楼  发表于: 2010-03-01 23:22
一直没看到哪有教程,还请版主指点一二。。。
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
118楼  发表于: 2010-03-02 09:58
引用第117楼st001于2010-03-01 23:22发表的  :
一直没看到哪有教程,还请版主指点一二。。。

请认真地研读一下Qt手册里的example例程:
/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/doc/html/index.html

其实最好的东西已在手里, 何必还要四处寻求呢!
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 7421
精华: 0
发帖: 11
金钱: 60 两
威望: 20 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-07-14
最后登录: 2017-09-13
119楼  发表于: 2010-03-02 17:37
a11