• 8990阅读
  • 8回复

在qt designer下加完控件后,需要相应添加哪些实现的代码? [复制链接]

上一主题 下一主题
离线maymay
 
只看楼主 正序阅读 楼主  发表于: 2008-04-22
— 本帖被 XChinux 执行加亮操作(2008-04-22) —
前面有个小的源程序,运行之后一切正常,我要添加新的菜单项和新功能。首先用qt designer添加了一个新菜单popumenu和该menu下几个选项。然后保存相应的.ui文件。

然后参照原来程序前面菜单的方式添加了相关代码。因为原来程序没有在qt designer下面关联slot,新加的菜单项我也没有用qt designer的connect。

所添加的代码如下,请帮我看看还需要在哪些地方加一下内容以实现添加菜单?

.h文件中:
class CLPlayerWin : public QMainWindow // cl_plw
{
private:
  //newlly added
  QAction *acProcessNr;
  QAction *acProcessFrc;
  //end

  QPopupMenu *pmuVideo;
protected slots:
  // newlly added
  void processNr(void);
  void processFrc(void);
 
  //end
}

.cpp文件中:
CLPlayerWin::CLPlayerWin( QWidget *wgtParent, const char *szName, WFlags fl )
            :QMainWindow( wgtParent, szName, fl )

{
//newlly added
  acProcessNr  = new QAction( this, "AC ProcessNr" );
  acProcessFrc = new QAction( this, "AC ProcessFrc" );

  pmuProcess = new QPopupMenu( this, "PMU Process");
 
  acProcessNr ->addTo( pmuProcess);
  acProcessFrc ->addTo( pmuProcess);

  mbrMain->insertItem( QString( "" ), pmuProcess , 5 );  //newly added

//newly added
  connect( acProcessNr  , SIGNAL( activated( ) ),
          this, SLOT( processNr( ) ) );
  connect( acProcessFrc  , SIGNAL( activated( ) ),
          this, SLOT( processFrc( ) ) );

}
离线liangxiyi
只看该作者 8楼 发表于: 2011-03-17
我也是同样的问题……
离线douboer

只看该作者 7楼 发表于: 2008-04-27
先设计菜单,用designer
用uic工具生成h和cpp文件
把功能代码加到slot action中
-------------------------------------
http://logins.bokee.com
-------------------------------------
离线maymay
只看该作者 6楼 发表于: 2008-04-24
帮忙看看呀
离线kkerosene
只看该作者 5楼 发表于: 2008-04-23
呵呵!
离线kkerosene
只看该作者 4楼 发表于: 2008-04-23
呵呵!
离线maymay
只看该作者 3楼 发表于: 2008-04-22
zplayer.o: In function `CLPlayerWin::helpContents()':
ui/zplayer.cpp:828: multiple definition of `CLPlayerWin::helpContents()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:1333: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::helpContents()' changed from 354 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `CLPlayerWin::fileExit()':
ui/zplayer.cpp:788: multiple definition of `CLPlayerWin::fileExit()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:711: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::fileExit()' changed from 17 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `CLPlayerWin::fileSaveAs()':
ui/zplayer.cpp:778: multiple definition of `CLPlayerWin::fileSaveAs()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:572: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::fileSaveAs()' changed from 2641 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `CLPlayerWin::fileSave()':
ui/zplayer.cpp:773: multiple definition of `CLPlayerWin::fileSave()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:562: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::fileSave()' changed from 9 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `CLPlayerWin::fileOpen()':
ui/zplayer.cpp:768: multiple definition of `CLPlayerWin::fileOpen()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:474: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::fileOpen()' changed from 1701 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `CLPlayerWin::fileNew()':
ui/zplayer.cpp:763: multiple definition of `CLPlayerWin::fileNew()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:464: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::fileNew()' changed from 9 in playerwin.o to 16 in zplayer.o
zplayer.o: In function `non-virtual thunk to CLPlayerWin::~CLPlayerWin()':
ui/zplayer.cpp:765: multiple definition of `non-virtual thunk to CLPlayerWin::~CLPlayerWin()'
playerwin.o:/usr/lib/qt-3.3/include/qptrlist.h:93: first defined here
zplayer.o: In function `~CLPlayerWin':
ui/zplayer.cpp:664: multiple definition of `CLPlayerWin::~CLPlayerWin()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:2145: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::~CLPlayerWin()' changed from 933 in playerwin.o to 565 in zplayer.o
zplayer.o: In function `non-virtual thunk to CLPlayerWin::~CLPlayerWin()':
ui/zplayer.cpp:667: multiple definition of `non-virtual thunk to CLPlayerWin::~CLPlayerWin()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:2148: first defined here
zplayer.o: In function `~CLPlayerWin':
ui/zplayer.cpp:664: multiple definition of `CLPlayerWin::~CLPlayerWin()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:2145: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::~CLPlayerWin()' changed from 921 in playerwin.o to 556 in zplayer.o
zplayer.o: In function `~CLPlayerWin':
ui/zplayer.cpp:664: multiple definition of `CLPlayerWin::~CLPlayerWin()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:2145: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::~CLPlayerWin()' changed from 921 in playerwin.o to 556 in zplayer.o
zplayer.o: In function `CLPlayerWin::languageChange()':
ui/zplayer.cpp:673: multiple definition of `CLPlayerWin::languageChange()'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:100: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::languageChange()' changed from 19993 in playerwin.o to 11211 in zplayer.o
zplayer.o: In function `CLPlayerWin':
ui/zplayer.cpp:449: multiple definition of `CLPlayerWin::CLPlayerWin(QWidget*, char const*, unsigned int)'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:1678: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::CLPlayerWin(QWidget*, char const*, unsigned int)' changed from 13381 in playerwin.o to 8597 in zplayer.o
zplayer.o: In function `CLPlayerWin':
ui/zplayer.cpp:449: multiple definition of `CLPlayerWin::CLPlayerWin(QWidget*, char const*, unsigned int)'
playerwin.o:/mnt/hda6/LinuxDev/player/playerwin.cpp:1678: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::CLPlayerWin(QWidget*, char const*, unsigned int)' changed from 13381 in playerwin.o to 8597 in zplayer.o
moc_zplayer.o: In function `CLPlayerWin::className() const':
/usr/lib/qt-3.3/include/qglist.h:150: multiple definition of `CLPlayerWin::className() const'
moc_playerwin.o:/usr/lib/qt-3.3/include/qglist.h:150: first defined here
moc_zplayer.o: In function `CLPlayerWin::qt_static_property(QObject*, int, int, QVariant*)':
ui/moc_zplayer.cpp:145: multiple definition of `CLPlayerWin::qt_static_property(QObject*, int, int, QVariant*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:232: first defined here
moc_zplayer.o: In function `CLPlayerWin::staticMetaObject()':
ui/moc_zplayer.cpp:50: multiple definition of `CLPlayerWin::staticMetaObject()'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:50: first defined here
moc_zplayer.o: In function `CLPlayerWin::qt_property(int, int, QVariant*)':
ui/moc_zplayer.cpp:140: multiple definition of `CLPlayerWin::qt_property(int, int, QVariant*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:227: first defined here
moc_zplayer.o: In function `CLPlayerWin::qt_emit(int, QUObject*)':
ui/moc_zplayer.cpp:134: multiple definition of `CLPlayerWin::qt_emit(int, QUObject*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:221: first defined here
moc_zplayer.o: In function `CLPlayerWin::qt_cast(char const*)':
ui/moc_zplayer.cpp:102: multiple definition of `CLPlayerWin::qt_cast(char const*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:171: first defined here
moc_zplayer.o:/usr/lib/qt-3.3/include/qglist.h:150: multiple definition of `CLPlayerWin::metaObj'
moc_playerwin.o:/usr/lib/qt-3.3/include/qglist.h:150: first defined here
moc_zplayer.o: In function `CLPlayerWin::qt_invoke(int, QUObject*)':
ui/moc_zplayer.cpp:109: multiple definition of `CLPlayerWin::qt_invoke(int, QUObject*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:178: first defined here
/usr/bin/ld: Warning: size of symbol `CLPlayerWin::qt_invoke(int, QUObject*)' changed from 955 in moc_playerwin.o to 390 in moc_zplayer.o
moc_zplayer.o: In function `CLPlayerWin::trUtf8(char const*, char const*)':
ui/moc_zplayer.cpp:39: multiple definition of `CLPlayerWin::trUtf8(char const*, char const*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:39: first defined here
moc_zplayer.o: In function `CLPlayerWin::tr(char const*, char const*)':
ui/moc_zplayer.cpp:31: multiple definition of `CLPlayerWin::tr(char const*, char const*)'
moc_playerwin.o:/mnt/hda6/LinuxDev/player/moc_playerwin.cpp:31: first defined here
collect2: ld returned 1 exit status
make: *** [zplayer] 错误 1
离线maymay
只看该作者 2楼 发表于: 2008-04-22
现在用qmake命令重新生成了Makefile. 
然后make之后产生错误:
离线maymay
只看该作者 1楼 发表于: 2008-04-22
另外,gcc编译已经通过,但是不能运行。gdb下面运行到这个clplayerwin就死掉了。也不知道具体原因
快速回复
限100 字节
 
上一个 下一个