2017-02-04 6 views
-1

私はQHBoxに項目を追加しようとしていますが、私はエラーを取得しておいてください。Qtのエラー:エラー:への呼び出しに該当する関数 'QHBoxLayout ::のaddItem(のQPushButton *&')

/media/root/5431214957EBF5D7/projects/c/qt/tools/plugandpaint/app/mainwindow.cpp:36: error: no matching function for call to ‘QHBoxLayout::addItem(QPushButton*&)’ 
    hlayout->addItem(m_button); 
          ^

何私は間違っているかもしれないのですか?

mainwindow.h

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 


#include <QHBoxLayout> 

class PaintArea; 

class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    MainWindow(); 

private slots: 
    void handleButton(); 
    // Other slots 

private: 
    PaintArea *paintArea; 
    QHBoxLayout *hlayout; 

    // Other private items 
}; 

#endif 

mainwindow.cpp

MainWindow::MainWindow() : 
    paintArea(new PaintArea), 
    scrollArea(new QScrollArea) 
{ 

    // Create the button, make "this" the parent 
    m_button = new QPushButton("My Button", this); 
    // set size and location of the button 
    m_button->setGeometry(QRect(QPoint(100, 100), QSize(200, 50))); 

    // Connect button signal to appropriate slot 
    connect(m_button, SIGNAL (released()), this, SLOT (handleButton())); 

    hlayout = new QHBoxLayout; 
    hlayout -> addItem(m_button); 
    hlayout -> addItem(paintArea); 

    scrollArea->setWidget(hlayout); 
+0

ソースコードを追加してください。私は 'm_button'宣言も見ません。 –

+0

@RealFresh –

+0

エラーメッセージのどの部分に苦労していますか?関係するクラスの文書を読んだことがありますか? – juanchopanza

答えて

0

それは次のようになります。

hlayout->addWidget(m_button); 

ところで、thisボタンの横にあることを名前は必要ありません。階層内のその上にあるレイアウトとウィジェットが所有権を管理します。

関連する問題