在Qt创建器中提升QWidget,构造函数

时间:2015-11-03 09:28:01

标签: c++ qt qt-creator qwidget

我将QGraphicsView

分组
class CustomGraphicsView : public QGraphicsView
{
public:
    CustomGraphicsView(QWidget *parent = 0);
...
}

然后,.cpp文件中的构造函数实现如下:

CustomGraphicsView::CustomGraphicsView(QWidget * parent):
    QGraphicsView(parent)
{
}

现在我通过Qt创建者将QGraphicsView Widget提升为CustomGraphicsView。但是当我想在ImageWindow类的构造函数中连接到提升的小部件时;

ImageWindow::ImageWindow(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ImageWindow)
{
    ui->setupUi(this);

    CustomGraphicsView * view = ui->graphicsView();

}

我收到错误消息:

term does not evaluate to a function taking 0 arguments.

我为构造函数指定了一个默认值,即QWidget * parent = 0,在ui_image_window.h中设置了一个参数:

graphicsView = new CustomGraphicsView(ImageWindow);

那么什么可能导致这个错误?

1 个答案:

答案 0 :(得分:2)

这是因为soup = BeautifulSoup(driver.page_source) soup.html.children[0] #... 是成员而不是方法,因此您不需要括号。只需像graphicsView一样访问它。对于生成的UI类中的所有Qt小部件,这都是相同的 - 它们只是成员,而不是方法。