这是Qt的另一个新手。
我需要做的是在MainWindow的中心有一个可滚动的区域,它显示图像,并允许用户在图像上绘画。
由于我无法将QPixmap直接添加到可滚动区域,因此我尝试创建QWidget的子类,如下所示:
class Canvas: public QWidget
{
public:
Canvas(){
image = new QPixmap(480,320);
image->fill(Qt::red);
}
QPixmap *image;
};
然后我在头文件中声明了Canvas * c。
在实施中,我写道:
canvas = new Canvas;
setCentralWidget(canvas);
然而,显然这对显示QPixmap没有帮助。我不知道该怎么办。
答案 0 :(得分:3)
您不需要为此子类化QWidget。 QPixmap不是小部件,因此不会在任何地方显示。您需要将pixmap添加到某个小部件,这将起作用:
标题中的:
QLabel* imageLabel;
在cpp:
imageLabel = new QLabel(this);
QPixmap image(480,320);
image.fill(Qt::red);
imageLabel->setPixmap(image);
setCentralWidget(imageLabel);