在qt creator中用ui设计器创建了一个QDialog的窗口,添加了一个QWidget部件,怎么能在Qwidget上用QPainter
在qtcreator中用ui设计器创建了一个QDialog的窗口,添加了一个QWidget部件,怎么能在Qwidget上用QPainter?怎么能让画的图形不出QWidg...
在qt creator中用ui设计器创建了一个QDialog的窗口,添加了一个QWidget部件,怎么能在Qwidget上用QPainter?怎么能让画的图形不出QWidget部件的范围呢?请高手指点
展开
1个回答
展开全部
简单点说,要在QWidget上使用QPainter,需要你定义一个继承自QWidget的类,而你现在这么做也只是相当于在窗口中添加了一个QWidget,但这个窗体没有实际的作用。
我写个简单的例子代码,说明怎么用QPainter
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QPainter>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent *);
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
}
Widget::~Widget()
{
}
//重新实现paintEvent
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
//绘制一行文字
painter.drawText(this->rect(),Qt::AlignCenter,"this is my widget");
}
我写个简单的例子代码,说明怎么用QPainter
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QPainter>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent *);
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
}
Widget::~Widget()
{
}
//重新实现paintEvent
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
//绘制一行文字
painter.drawText(this->rect(),Qt::AlignCenter,"this is my widget");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询