DrawView *child = createMdiChild() linux上不能用
时间: 2024-04-27 08:23:07 浏览: 37
根据您提供的信息,我猜测您可能遇到了编译错误或者链接错误。请提供更具体的错误信息,以便更好地定位问题。
如果是编译错误,可能是因为您的代码中使用了某些不支持的语法或者标准库函数。请检查您的代码,确保它符合您所使用的编译器的语法要求,并且正确地包含了需要的头文件。
如果是链接错误,可能是因为您的代码中引用了某些未定义的符号,比如函数、全局变量等。请检查您的代码和依赖库,确保它们都正确地被编译和链接了。
另外,请注意您的代码中是否存在平台相关的问题,比如文件路径分隔符、库的命名规则等。这些问题可能会导致代码在不同平台上表现不同,需要特别注意。
相关问题
DrawView *child = createMdiChild();DrawView *MainWindow::createMdiChild();linux可以这样使用吗
根据您提供的代码,似乎有一些语法问题。在 C++ 中,函数的声明和定义需要使用相同的语法,即在函数名后面添加括号和参数列表。因此,您需要将 `MainWindow::createMdiChild()` 函数的定义改为如下形式:
```cpp
DrawView* MainWindow::createMdiChild() {
// 函数实现
}
```
这样,您就可以在其他函数中调用 `createMdiChild()` 函数了,例如:
```cpp
DrawView* child = createMdiChild();
```
注意,在调用函数时,需要在函数名后面添加括号,并在括号中传递参数(如果有的话)。在您提供的代码中,调用 `createMdiChild` 函数时缺少了括号,应该改为 `createMdiChild()`。
另外,如果您的代码在 Linux 上编译错误,可能是因为您使用了 Windows 特有的头文件或者函数。请检查您的代码,确保它不包含 Windows 特有的头文件,并且不调用 Windows 特有的函数。
qt DrawView 的头文件
Qt 的 DrawView 组件是一个绘图视图,它可以用来绘制 2D 图形和图像。以下是 DrawView 组件的头文件:
```cpp
#include <QGraphicsView>
#include <QGraphicsScene>
class DrawView : public QGraphicsView
{
Q_OBJECT
public:
DrawView(QWidget *parent = nullptr);
~DrawView();
void setPenColor(const QColor &color);
void setPenWidth(int width);
public slots:
void clear();
protected:
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override;
private:
QGraphicsScene *m_scene;
QGraphicsPathItem *m_pathItem;
QPainterPath m_path;
QPen m_pen;
QPoint m_lastPoint;
};
```
在这个头文件中,`DrawView` 组件继承自 `QGraphicsView`,并包含了 `QGraphicsScene` 和 `QGraphicsPathItem` 两个成员变量,用于管理场景和绘制路径。在 `DrawView` 中,你可以设置画笔的颜色和宽度,以及清空绘制内容等。还有一些鼠标事件可以用来响应用户的操作。