关于QT自mainwindow窗口下画图的问题

myqq294060618 2011-04-24 03:07:29
比如说。我想在mainwindow下画一个矩形,或者显示一幅图片。该怎么做?麻烦各位大侠指导一下!谢谢了!
...全文
520 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
myqq294060618 2011-04-24
  • 打赏
  • 举报
回复
为什么我的程序这样写。矩形能显示出来。而图片不行。
我的结果应当是 显示一个矩形。
然后显示一个图片让图片在固定的矩形区域中
QPainter painter(this);
QBrush brush(QColor("#DAA520"));
painter.setBrush(brush);
painter.drawRect(100,100,100,100);

QPixmap pix;
pix.load("1.jpg");
painter.drawPixmap(200,200,400,400,pix);

求各位解释解释!谢谢了
CrazyWind 2011-04-24
  • 打赏
  • 举报
回复

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = 0);
~MainWindow();

protected:
void paintEvent(QPaintEvent *e);
};

#endif // MAINWINDOW_H


#include <QtGui>
#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
resize(800, 600);
QRect r = qApp->desktop()->availableGeometry();
move((r.width() - width()) / 2, (r.height() - height()) / 2);
}

MainWindow::~MainWindow()
{

}

void MainWindow::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
QRect r(100, 100, 200, 300);
painter.drawRect(r);
painter.setFont(QFont("Microsoft YaHei", 12));
painter.setPen(Qt::darkGreen);
painter.drawText(r, tr("画矩形"));
painter.translate(200, 0);
painter.drawPixmap(r, QPixmap("apple2.jpg"));
}


老邓 2011-04-24
  • 打赏
  • 举报
回复

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧