通过点击Item的图标可以实现对可执行文件的调用

本文介绍了如何在QIconView中实现对不同Item的选择及通过点击图标调用可执行文件的方法。同时解决了图标添加过程中遇到的函数不匹配问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
●今天完成了QIconView类中对不同Item的选择,通过点击Item的图标可以实现对可执行文件的调用。需要在QIconView子类中重载void keyPressExtension(QKeyEvent *e)函数来实现。
用于识别不同Item来执行对应的程序的代码如下:
item= currentItem();
              itemIndex= index(item);
              switch(itemIndex){
              case 0:
                     pid=fork();
                     if (pid==0){
                            ::execl("/home/qt-embedded/tetrix", "./tetrix", (char *)0);
                            ::exit(-1);
                     }
                     break;
              case 1:
                     pid=fork();
                     if (pid==0){
                            ::execl("/home/qt-embedded/aclock", "./aclock", (char *)0);
                            ::exit(-1);
                     }
在通过::execl("/home/qt-embedded/tetrix", "./tetrix", (char *)0)调用可执行文件之前必须先fork()一个子进程,否则在调用新的可执行文件之前会使屏幕闪烁,并且在新的可执行文件退出时使整个程序崩溃。
     在给QIconViewItem的对象添加图标时,出现了函数不匹配的问题,原来是参数传递的形式不对,正确做法如下:
QIconViewItem *item;
       QPixmap *pixmap;
      
       item = new QIconViewItem( &qiconview, "Tetrix" );
       item->setRenameEnabled( FALSE );
       pixmap = new QPixmap("tetrix.png");
       item->setPixmap(*pixmap); //特别要注意参数中的*一定要加
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值