• 5812阅读
  • 6回复

我想在SplashScreen画面出现时,按鼠标器三下离开程序。这有可能办到吗? [复制链接]

上一主题 下一主题
离线peterlin82
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-10
小弟想在SplashScreen画面出现时,在画面上按鼠标器三下结束程序(exit(0))。
但我程度不好,不知从何着手。                                        
可否麻烦前辈指点一下方向。                                          
感激不尽。

  1. int main(int argc, char *argv[])
  2. {                                
  3.     QApplication a(argc, argv);  
  4.     QPixmap pixmap("splash.png");
  5.     QSplashScreen splash(pixmap);
  6.     splash.show();              
  7.     a.processEvents();          
  8.     Dialog w;                    
  9.     w.show();                    
  10.     splash.finish(&w);          
  11.     return a.exec();            
  12. }                                
离线dbzhang800

只看该作者 1楼 发表于: 2009-08-10
子类化 QSplashScreen 吧?
离线peterlin82

只看该作者 2楼 发表于: 2009-08-10
谢谢dbzhang800的解说。

但小弟程度不好,只加了几行就出现:
undefined reference to `vtable for QSplashScreen2'及
collect2: ld returned 1 exit status之错误信息。

我不知该如何解决。有前辈可帮忙看看看吗?

以下程序码我加在int main(int argc, char *argv[])前面。

  1. class QSplashScreen2 : public QSplashScreen
  2. {
  3.     Q_OBJECT
  4. public:
  5.     QSplashScreen2(const QPixmap & pixmap = QPixmap(), Qt::WindowFlags f = 0);
  6.     ~QSplashScreen2();
  7. };
  8. QSplashScreen2::QSplashScreen2(const QPixmap & pixmap, Qt::WindowFlags f)
  9. {
  10. }
  11. QSplashScreen2::~QSplashScreen2()
  12. {
  13. }
离线dbzhang800

只看该作者 3楼 发表于: 2009-08-10
在你的main函数前面 添加 一行

#include "main.moc"

试试

(假定你当前的文件名是 main.cpp)
离线peterlin82

只看该作者 4楼 发表于: 2009-08-11
再次感谢dbzhang800热心帮忙。
后来小弟找到问题,与以下连结的网友一样,
只要把宣告的部份存贮成另一个.h档即可解决。

http://www.qtcn.org/bbs/read.php?tid=3116&keyword=%BC%CC%B3%D0
离线yuxuan
只看该作者 5楼 发表于: 2009-09-14
请问能给出子类化的代码吗?具体怎么实现的,是重载mousepressevent函数吗?我也想让程序点击鼠标后再进入主界面,但不知道具体怎么做,请您不吝赐教,谢谢。
离线q011
只看该作者 6楼 发表于: 2010-02-23
关注下
快速回复
限100 字节
 
上一个 下一个