标题:十七、Qt 2D绘图(七)Qt坐标系统深入(原创)
作者:yafei86
日期:2010-02-11 17:56
内容:
声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。
接着上面一节,前面只是很简单的讲解了一下Qt坐标系统的概念,通过对几个函数的应用,我们应该已经对Qt的坐标系统有了一个模糊的认识。那么现在就来让我们更深入地研究一下Qt窗口的坐标。希望大家把这一节的例子亲手做一下,不要被我所说的东西搞晕了!
我们还是在以前的工程中进行操作。
获得坐标信息:
为了更清楚地获得坐标信息,我们这里利用鼠标事件,让鼠标点击左键时输出该点的坐标信息。
1.在工程中的dialog.h文件中添加代码。
添加头文件: #include
在public中添加函数声明:void mousePressEvent(QMouseEvent *);
然后到dialog.cpp文件中:
添加头文件: #include
定义函数:
void Dialog::mousePressEvent(QMouseEvent *event)
{
qDebug() pos();
}
这里应用了qDebug()函数,利用该函数可以在程序运行时将程序中的一些信息输出,在Qt Creator中会将信息输出到其下面的Application Output窗口。这个函数很有用,在进行简单的程序调试时,都是利用该函数进行的。我们这里利用它将鼠标指针的坐标值输出出来。
2.然后更改重绘事件函数。
void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawRect(0,0,50,50);
}
我们绘制了一个左上顶点为(0,0),宽和高都是50的矩形。
3.这时运行程序 ..