• 8449阅读
  • 10回复

类A继承QLabel,怎么让类A实现SetPixmap呢? [复制链接]

上一主题 下一主题
离线shixingya
 

只看楼主 倒序阅读 楼主  发表于: 2015-02-04
— 本帖被 圣域天子 从 Qt 作品展 移动到本区(2015-02-04) —
类A继承QLabel,怎么让类A实现SetPixmap呢?
现在我类A调用 A.setPixmap();   没有图片显示


附件: myshowlabel.rar (31 K) 下载次数:8
本人2008年9月至2012年6月在三亚学院学习计算机科学与技术专业四年,2012年6月毕业后至今一直在北京市从事软件开发相关工作。本人的技术栈是C++、熟悉Qt、CEF框架。参与或负责过多款Windows、Linux环境下桌面软件的研发。
参加工作十年来,使用Qt参与开发过一个军工仿真想定建模工具,仿真陆、海、空潜等各兵种的作战平台(包括地面车辆、水面舰艇、固定翼/旋转翼飞机、潜艇等)的运动方式和工作流程,实现陆、海、空、潜立体化协同作战仿真。在国美调研过电商OA办公工具的开发设计、在广联达参与了BIM软件的协作开发、在书生电子独立负责过OFD版式阅读器客户端的开发、在跟谁学使用Qt WebEngine、QGraphics等主导了练习批改工具的开发,在蓝湖基于WebAssembly对标Figma参与开发了一款原型设计工具mastergo,在小米集团技术委员会承担了平台应用研发工作,目前在凌云光从事视觉相关应用平台开发。十多年的软件开发工作,让我在软件工程、程序设计、系统架构方面积累了丰富且宝贵的经验。
有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
我有个Qt交友群,拉您入群
非工作时间 可以电联 18610042411
*********************************************************
另低价出售
→各种软件小程序定制!
→SAP教程,涵盖BI/SD/FICO/HANA等各种模块视频教程,购买教程,拾取金领顾问教程!
→各种考证考研题库,保证考证考研成功上岸!
→抖音快手微博朋友圈各种点赞支持,最快一分钟上万赞!
→挂机打卡,远程叫醒,等各种服务欢迎私信EagleAndy开启!
转发此内容,私信EagleAndy,有定制盲盒寄送!
离线realfan

只看该作者 1楼 发表于: 2015-02-04
加Q_OBJECT没?
离线shixingya

只看该作者 2楼 发表于: 2015-02-04
回 realfan 的帖子
realfan:加Q_OBJECT没? (2015-02-04 12:14) 

加了 , 代码已经传附件了  帮忙看看吧  好奇怪,理论上点击按钮 应该显示图片的
本人2008年9月至2012年6月在三亚学院学习计算机科学与技术专业四年,2012年6月毕业后至今一直在北京市从事软件开发相关工作。本人的技术栈是C++、熟悉Qt、CEF框架。参与或负责过多款Windows、Linux环境下桌面软件的研发。
参加工作十年来,使用Qt参与开发过一个军工仿真想定建模工具,仿真陆、海、空潜等各兵种的作战平台(包括地面车辆、水面舰艇、固定翼/旋转翼飞机、潜艇等)的运动方式和工作流程,实现陆、海、空、潜立体化协同作战仿真。在国美调研过电商OA办公工具的开发设计、在广联达参与了BIM软件的协作开发、在书生电子独立负责过OFD版式阅读器客户端的开发、在跟谁学使用Qt WebEngine、QGraphics等主导了练习批改工具的开发,在蓝湖基于WebAssembly对标Figma参与开发了一款原型设计工具mastergo,在小米集团技术委员会承担了平台应用研发工作,目前在凌云光从事视觉相关应用平台开发。十多年的软件开发工作,让我在软件工程、程序设计、系统架构方面积累了丰富且宝贵的经验。
有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
我有个Qt交友群,拉您入群
非工作时间 可以电联 18610042411
*********************************************************
另低价出售
→各种软件小程序定制!
→SAP教程,涵盖BI/SD/FICO/HANA等各种模块视频教程,购买教程,拾取金领顾问教程!
→各种考证考研题库,保证考证考研成功上岸!
→抖音快手微博朋友圈各种点赞支持,最快一分钟上万赞!
→挂机打卡,远程叫醒,等各种服务欢迎私信EagleAndy开启!
转发此内容,私信EagleAndy,有定制盲盒寄送!
离线liudianwu

只看该作者 3楼 发表于: 2015-02-04
仁兄的图章水印程序还没搞好啊?代码下过来看了下,代码没有你这种写法的,既然你是自定义继承自QLabel的,为何还搞个UI界面呢?

还有这种窗体构造函数里面代码写的,简直不忍直视!

继承自QLabel的自定义类,肯定可以使用setPixmap实现加载图像的!杠杠的!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线liudianwu

只看该作者 4楼 发表于: 2015-02-04
直接写个继承自QLabel的myLabel的类,啥也不干不就得了。


代码下载:
test.zip (31 K) 下载次数:8

简单的要死的东西,不明白作者为什么搞了这么久!第一天入门应该也可以搞定的!我是实在看不下去了!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线shixingya

只看该作者 5楼 发表于: 2015-02-05
回 liudianwu 的帖子
liudianwu:直接写个继承自QLabel的myLabel的类,啥也不干不就得了。
[图片]
代码下载:
[图片]
....... (2015-02-04 20:37) 

大哥把问题想简单了,如果只是QlAbel显示张图片,我何必创建一个新的类,我创建新的类主要是重写Qlabel的鼠标拖动,绘制功能,对象传底图给类,然后类实现底图绘制,和鼠标拖章,盖章。。。照大哥的意思写个word,pdf阅读器是比你写那个监控程序更容易的事,你可想过word有拆分页,页眉页脚,插入图片重新排版,pdf有图片文字选取,版式大纲。。。。。没有小半年,怎么搞得定。
本人2008年9月至2012年6月在三亚学院学习计算机科学与技术专业四年,2012年6月毕业后至今一直在北京市从事软件开发相关工作。本人的技术栈是C++、熟悉Qt、CEF框架。参与或负责过多款Windows、Linux环境下桌面软件的研发。
参加工作十年来,使用Qt参与开发过一个军工仿真想定建模工具,仿真陆、海、空潜等各兵种的作战平台(包括地面车辆、水面舰艇、固定翼/旋转翼飞机、潜艇等)的运动方式和工作流程,实现陆、海、空、潜立体化协同作战仿真。在国美调研过电商OA办公工具的开发设计、在广联达参与了BIM软件的协作开发、在书生电子独立负责过OFD版式阅读器客户端的开发、在跟谁学使用Qt WebEngine、QGraphics等主导了练习批改工具的开发,在蓝湖基于WebAssembly对标Figma参与开发了一款原型设计工具mastergo,在小米集团技术委员会承担了平台应用研发工作,目前在凌云光从事视觉相关应用平台开发。十多年的软件开发工作,让我在软件工程、程序设计、系统架构方面积累了丰富且宝贵的经验。
有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
我有个Qt交友群,拉您入群
非工作时间 可以电联 18610042411
*********************************************************
另低价出售
→各种软件小程序定制!
→SAP教程,涵盖BI/SD/FICO/HANA等各种模块视频教程,购买教程,拾取金领顾问教程!
→各种考证考研题库,保证考证考研成功上岸!
→抖音快手微博朋友圈各种点赞支持,最快一分钟上万赞!
→挂机打卡,远程叫醒,等各种服务欢迎私信EagleAndy开启!
转发此内容,私信EagleAndy,有定制盲盒寄送!
离线realfan

只看该作者 6楼 发表于: 2015-02-05
回 shixingya 的帖子
shixingya:加了 , 代码已经传附件了  帮忙看看吧  好奇怪,理论上点击按钮 应该显示图片的 (2015-02-04 12:22) 

问题出在paintEvent,加上黑体部分代码试试
void ShowLabel::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPen pen = painter.pen();
    pen.setWidth(20);//改变线宽
    pen.setColor(Qt::red);
    painter.setPen(pen);
    painter.drawPoint(mousePos_X,mousePos_Y);

    QImage img(":/images/tz.jpg");
    QPoint pt(mousePos_X,mousePos_Y);
    painter.drawImage(pt, img);


    painter.end();
}
离线roywillow

只看该作者 7楼 发表于: 2015-02-05
QLabel的setPixmap需要最后在paintEvent中绘制出来
估计是你继承了之后自己重新写了paintEvent,但是你自己没在新的paintEvent中去绘制这个pixmap,或者没有去调用QLabel的pixmap让基类去给你绘制吧
如果只是想去多处理一些事件的话……event filter考虑过吗?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 8楼 发表于: 2015-02-05
另外我也没搞懂您在mainwindow的构造函数里干的都是啥……
在构造函数里new一个无parent的QWidget然后显示出来,并且也没有地方能delete掉这个widget真的没问题吗?NL最后迟早都要被加入layout中为什么前面还要多此一举调用一遍setGeometry?NL是mainwindow的成员变量,最后却被一个不属于mainwindow的QWidget给接管了?并且NL显示的窗口不是属于mainwindow的啊……要是说最终目的只是显示NW,那直接在main函数里构建这个QWidget就是了,还是说你一直以为想在QWidget中布局其他的组件就一定得通过继承在构造函数中实现?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线liudianwu

只看该作者 9楼 发表于: 2015-02-07
回 roywillow 的帖子
roywillow:另外我也没搞懂您在mainwindow的构造函数里干的都是啥……
在构造函数里new一个无parent的QWidget然后显示出来,并且也没有地方能delete掉这个widget真的没问题吗?NL最后迟早都要被加入layout中为什么前面还要多此一举调用一遍setGeometry?NL是mainwindow的成员变量,最后却被一 .. (2015-02-05 11:40) 

所以看到这种另类的代码真心难受!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线roywillow

只看该作者 10楼 发表于: 2015-02-07
回 liudianwu 的帖子
liudianwu:所以看到这种另类的代码真心难受! (2015-02-07 20:08) 

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈强迫症的末日
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个