• 6789阅读
  • 3回复

图片的切换 [复制链接]

上一主题 下一主题
离线soyeon
 
只看楼主 倒序阅读 楼主  发表于: 2006-12-11
— 本帖被 XChinux 从 Qt for Linux/X11 移动到本区(2010-02-08) —
#include <qapplication.h>
#include <qwidget.h>
#include <qpainter.h>
#include <qpushbutton.h>
#include <qlayout.h>
class MyView:public QWidget
{
public:
  MyView();
private:
  QPushButton *Up1,*Up2;
 
  QPainter *paint1,*paint2;
 
public slots:
  void show1(QPaintEvent*);
void show2(QPaintEvent*);
};

MyView::MyView()
{
setGeometry(200,200,400,400);


Up1=new QPushButton("Up1",this);
Up2=new QPushButton("Up2",this);

QGridLayout *layout=new QGridLayout(this);
layout->addWidget(Up1,200,100);
layout->addWidget(Up2,200,150);

connect(Up1,SIGNAL(clicked()),this,SLOT(show1()));
connect(Up2,SIGNAL(clicked()),this,SLOT(show2()));
}
void MyView::show1(QPaintEvent*)
{
paint1=new QPainter;

  paint1->begin(this);

  paint1->drawRect(20,20,160,160);

  paint1->end();
}

void MyView::show2(QPaintEvent*)
{
paint2=new QPainter;

  paint2->begin(this);

  paint2->drawRect(20,20,60,100);

  paint2->end();
}



我想实现的GUI功能是,当按按钮1时,出现个矩形,当按按钮2时,出现另外各矩形,也就是实现图片的切换功能,可是我的这个简单程序怎么不能实现呢,呜呜,请问问题出在哪里,谢谢了。
[ 此贴被XChinux在2006-12-24 11:20重新编辑 ]
离线wrj_123
只看该作者 1楼 发表于: 2007-01-25
add paintEvent(QPaintEvent * event); shi jian
离线XChinux

只看该作者 2楼 发表于: 2007-08-12
实现虚函数paintEvent(),点击两个按钮的时候设定一个内部变量,并且调用update()方法以立即更新界面。
而在paintEvent()中绘画时,根据内部变量的的值画不同的图。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线icelee
只看该作者 3楼 发表于: 2008-11-17
public slots:
  void paintEvent(QPaintEvent * event);
程序人生
快速回复
限100 字节
 
上一个 下一个