小编Jas*_*llo的帖子

Qt子类和"没有匹配的连接函数"

我试图封装表视图行为,并开始将表视图头信号连接到子类中定义的表视图槽.我可以在不进行子类化的情况下获得我正在寻找的行为,但这会破坏目的.当我尝试子类时,我得到了可怕的"没有匹配函数调用连接.所有组件最终都是QObjects,所以我不认为这是问题.(但是,那么,也许这就是问题.)现在我正在连接'hideColumn()',但我最终想要连接到我自己的插槽(例如'my_sectionClicked(int)'.

下面的代码来自Jasmin Blanchette和Mark Summerfield的"C++ GUI Programming with Qt 4"的源代码,但我添加的"MyTableView"除外.

MyTableView.h

#ifndef MYTABLEVIEW_HPP
#define MYTABLEVIEW_HPP

#include <QTableView>

class MyTableView : public QTableView
{
    Q_OBJECT

public:
    explicit MyTableView(QWidget *parent = 0);

public slots:
    void my_sectionClicked(int logicalIndex);

private slots:

public:

private:
    QHeaderView *m_rowHeader;

};

#endif // MYTABLEVIEW_HPP
Run Code Online (Sandbox Code Playgroud)

MyTableView.cpp

// Qt Includes
#include <QDebug>
#include <QMenu>

// Local Includes
#include "MyTableView.h"

MyTableView::MyTableView(QWidget *parent) : QTableView(parent)
{
    m_rowHeader = horizontalHeader();
    connect(m_rowHeader, SIGNAL(sectionClicked(int)), this, SLOT(hideColumn(int)));
}

void MyTableView::my_sectionClicked(int logicalIndex)
{
    qDebug().nospace() << "Column " << logicalIndex …
Run Code Online (Sandbox Code Playgroud)

qt compilation subclass connect

3
推荐指数
1
解决办法
6456
查看次数

标签 统计

compilation ×1

connect ×1

qt ×1

subclass ×1