绘制笑脸,并使用事件
//smiley.h
#ifndef SMILEY_H
#define SMILEY_H
#include <QtGui/QWidget>
class Smiley : public QWidget
{
Q_OBJECT
Q_PROPERTY(int smileSize READ smileSize WRITE setSmileSize)
public:
Smiley(QWidget *parent = 0);
QSize sizeHint() const;
int smileSize() const;
signals:
void smileSizeChanged(int size);
public slots:
void setSmileSize(int);
protected:
void paintEvent(QPaintEvent *);
void paintEye(QPainter *painter, const QPoint &pt, int size, const QPoint &focus = QPoint());
void paintSmile(QPainter *painter, const QRect &r, int angle);
void mousePressEvent(QMouseEvent *);
void mouseMoveEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *);
private:
QPoint focusPoint;
int m_smileSize;
};
#endif // SMILEY_H
//smiley.cpp
#include "smiley.h"
#include <QPainter>
#include <QMouseEvent>
#include <cmath>
Smiley::Smiley(QWidget *parent)
: QWidget(parent)
{
m_smileSize = 100;

这篇博客介绍了一个Qt学习案例,涉及到如何在Qt环境中绘制笑脸图像,并结合信号和事件进行交互操作。通过smiley.h、smiley.cpp及main.cpp三个文件实现程序,最终实现了特定的运行效果。
最低0.47元/天 解锁文章
761

被折叠的 条评论
为什么被折叠?



