• 4646阅读
  • 2回复

这几个到底哪里有问题... [复制链接]

上一主题 下一主题
离线diablox0147
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-15

在.h文件里:
  1. #ifndef PRINCIPALEWINDOW_H_INCLUDED
  2. #define PRINCIPALEWINDOW_H_INCLUDED
  3. #include <QtGui>
  4. #include <vector>
  5. class PrincipaleWindow: public QMainWindow
  6. {
  7.     Q_OBJECT
  8.     public:
  9.         PrincipaleWindow();
  10.     public slots:
  11.         void nouvelleFenetre(QString);
  12.     private:
  13.        std::vector<QWidget*> subFenetre;
  14. };
  15. #endif // PRINCIPALEWINDOW_H_INCLUDED




在.cpp里:
  1. #include "PrincipaleWindow.h"
  2. PrincipaleWindow::PrincipaleWindow()
  3. {
  4.     //Les Actions
  5.     QAction *actionQuitter = new QAction("&Quitter",this);
  6.     QAction *actionNouvelle = new QAction("&Nouvelle",this);
  7.     QAction *actionEnregistrer = new QAction("&Enregistrer",this);
  8.     QAction *actionOuvrir = new QAction("&Ouvrir",this);
  9.     QAction *actionOption = new QAction("&Option",this);
  10.     QFontComboBox *actionFont = new QFontComboBox;
  11.     QAction *actionGras = new QAction("Gras",this);
  12.         actionGras->setCheckable(true);
  13.     QAction *actionItali = new QAction("Itali",this);
  14.     //Les Menus
  15.     QMenu *menuFicher = menuBar()->addMenu("&Fichier");
  16.         menuFicher->addAction(actionOuvrir);
  17.         menuFicher->addAction(actionNouvelle);
  18.         menuFicher->addAction(actionEnregistrer);
  19.         menuFicher->addAction(actionQuitter);
  20.     QMenu *menuEdition = menuBar()->addMenu("&Edition");
  21.     QMenu *menuOption = menuBar()->addMenu("&Option");
  22.         menuOption->addAction(actionOption);
  23.     //ToolBar
  24.     QToolBar *toolBar = addToolBar("toolBar01");//ToolBar有点像ACTION或WIDGET一样
  25.         toolBar->setFloatable(false);
  26.         toolBar->addAction(actionGras);
  27.             actionGras->setIcon(QIcon("Gras.png"));
  28.         toolBar->addWidget(actionFont);
  29.     //Grande Fenetre
  30.     QMdiArea *principaleFen = new QMdiArea;
  31.     setCentralWidget(principaleFen);
  32.     //Connection
  33.     QObject::connect(actionQuitter,SIGNAL(triggered()),qApp,SLOT(quit()));
  34.     QObject::connect(actionNouvelle,SIGNAL(triggered()),this,SLOT(nouvelleFenetre(QString)));
  35. }


不知道为什么添加了最后那个connect就会编辑不过...
离线cplus

只看该作者 1楼 发表于: 2009-05-15
你是说加了
QObject::connect(actionNouvelle,SIGNAL(triggered()),this,SLOT(nouvelleFenetre(QString)));
编译通不过吗?

提示什么啊?不至于呀
离线leehomexu
只看该作者 2楼 发表于: 2009-05-15
很明显,triggered()信号不带参数,而槽函数nouvelleFenetre(QString)需要一个QString参数!

QObject::connect(actionNouvelle,SIGNAL(triggered()),this,SLOT(nouvelleFenetre(QString)));
快速回复
限100 字节
 
上一个 下一个