首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用QPushButton C++打开窗口

用QPushButton C++打开窗口
EN

Stack Overflow用户
提问于 2016-02-24 15:34:41
回答 1查看 1.3K关注 0票数 0

我是的新手,我正在尝试构建一个带有按钮的第一个窗口,该按钮可以打开一个新窗口。我学习了许多教程,最后都遇到了同样的问题:

QObject::connect:没有这样的信号QPushButton::click()在../Gestion_Travaux/MainWindow.cpp:23中

这是我的密码:

Main.cpp

代码语言:javascript
代码运行次数:0
运行
复制
   #include <QApplication>
   #include "MainWindow.h"


    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);

        MainWindow frame;
        frame.show();

        return app.exec();
    }

MainWindow.h

代码语言:javascript
代码运行次数:0
运行
复制
  #ifndef MAINWINDOW_H
  #define MAINWINDOW_H
  #include <QApplication>
  #include <QWidget>
  #include <QPushButton>
  #include "NewJobWindow.h"

  class MainWindow : public QWidget // On hérite de QWidget (IMPORTANT)
  {
      public:
      MainWindow(); //Fenetre principale

      public slots:
      void OpenNew();


      private:
      QPushButton *m_NewJob; 
      QPushButton *m_OldJob; 
      NewJobWindow *m_NewJobWindow;
    };


#endif // MAINWINDOW_H

MainWindow.cpp

代码语言:javascript
代码运行次数:0
运行
复制
#include "MainWindow.h"
#include "NewJobWindow.h"
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QLCDNumber>
#include <QSlider>

MainWindow::MainWindow() : QWidget()
{
    setFixedSize(500, 500);

    // Construction du bouton nouveau travail
    m_NewJob = new QPushButton("Nouveau Travail", this);
    m_NewJob->setCursor(Qt::PointingHandCursor);
    m_NewJob->setGeometry(30,30,140,30);

    // Construction du bouton nouveau travail
    m_OldJob = new QPushButton("Travail archive", this);
    m_OldJob->setCursor(Qt::PointingHandCursor);
    m_OldJob->setGeometry(30,70,140,30);

    connect(m_NewJob, SIGNAL(click()), this, SLOT(openNew()));
}

void MainWindow::OpenNew()
{
    m_NewJobWindow= new NewJobWindow(); // Be sure to destroy you window somewhere
    m_NewJobWindow->show();

}

NewJobWindow.h

代码语言:javascript
代码运行次数:0
运行
复制
#ifndef NEWJOBWINDOW_H
#define NEWJOBWINDOW_H


#include <QApplication>
#include <QWidget>
#include <QPushButton>

class NewJobWindow : public QWidget // On hérite de QWidget (IMPORTANT)
{
    public:
    NewJobWindow(); //Fenetre de nouveau travail

    public slots:


    private:
};


#endif // NEWJOBWINDOW_H

NewJobWindow.cpp

代码语言:javascript
代码运行次数:0
运行
复制
#include "NewJobWindow.h"

NewJobWindow::NewJobWindow() : QWidget()
{
    setFixedSize(500, 500);

};

我在找我的错误..。有什么想法吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-02-24 16:36:04

  • 替换 连接(m_NewJob,信号(点击()),这个,插槽(openNew(); 使用 连接(m_NewJob,信号(点击()),这个,插槽(openNew();
  • 在两个类的开头添加Q_OBJECT宏。 MainWindow类: QWidget // On hérite de QWidget (重要){ Q_OBJECT . 和 NewJobWindow类: QWidget // On hérite de QWidget (重要){ Q_OBJECT .
  • 通过构建qmake运行qmake运行->。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35606323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档