一步步学Qt,第六天-QPainter应用
2011-08-30 07:48
225 查看
![](http://hi.csdn.net/attachment/201108/29/0_1314661353ePc4.gif)
一步步学Qt,第六天-QPainter应用
看了QPainter,看了一下,不过现在还有一点懵,一开始都不知道如何下手去做,现在好歹把code写出来了,不过,在QRect的定位上,真的很麻烦,因为这个要相对显示屏或者窗体,我一直在想有没有一个可以忽略这两个的办法来定位,现在还在思考中,看看这个程序:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QPainter> #include <cstdlib> #include <QRect> #include <QKeyEvent> #include <QPen> #include <QFont> #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); text = ""; setMinimumSize(400,300); setMaximumSize(400,300); } MainWindow::~MainWindow() { delete ui; } void MainWindow::paintEvent(QPaintEvent *) { QPainter p(this); QPen pen; pen.setColor(Qt::red); p.setPen(pen); QFont font("Arial",14,QFont::Normal,true); font.setItalic(true); p.setFont(font); QRect rect(0,10,400,150); p.drawText(rect,Qt::AlignCenter,text); this->update(); } void MainWindow::keyPressEvent(QKeyEvent *e) { if (e->key() == Qt::Key_Return){ text = ui->lineEdit->text(); ui->lineEdit->setText(""); } }
运行效果:
![](http://hi.csdn.net/attachment/201108/29/0_131466163133Wg.gif)
程序刚启动的时候
![](http://hi.csdn.net/attachment/201108/29/0_13146616963575.gif)
在QLineEdit中写入数据
![](http://hi.csdn.net/attachment/201108/29/0_1314661749JNBN.gif)
回车事件之后,把之前QlineEdit中的数据通过QPainter的Drawtext绘制,且把QLineEdit置空
相关文章推荐
- 一步步学Qt,第六天-QPainter应用
- 一步步学Qt,第七天-QPainter绘图QRect定位问题
- 一步步学Qt,第七天-QPainter绘图QRect定位问题
- 一步步学Qt,第七天-QPainter绘图QRect定位问题
- qt一些应用函数
- 如何在Qt QML应用中开启cache使得应用更加快捷
- QTcpServer、QTcpSocket、QUdpSocket在聊天程序上的应用
- Qt移动应用开发:应用粒子特效
- QT下设置android应用图标和名字的方 4000 法
- QT messagebox 调试信息应用
- Qt如何设置任务栏中该应用的图标
- 嵌入式qt的安装和应用 (2)
- Qt on Android:应用截屏
- QT中用Qpainter的drawText方法程序crash的可能原因
- QT框架中快速应用OpenCV——基于视频播放
- QT 框架中快速应用OpenCV 基于图片
- 实践之Qt在Blackfin平台的移植应用
- Qt:接受拖放,简单应用
- Qt学习08——布局管理综合应用
- iOS+QT5.2: 使用QT5.2创建跨平台的iOS应用