qt-自己用Qt画了一个方块,想要控制方块移动,paintevent和keypressevent已经写好

问题描述

自己用Qt画了一个方块,想要控制方块移动,paintevent和keypressevent已经写好

void Widget::paintEvent(QPaintEvent*event)
{QPainterpainter(this);
painter.setPen(QPen(Qt::black,8));
painter.drawRect(50,50,50,50);}

void Widget::keyPressEvent(QKeyEvent*event){
switch(event->key())
{caseQt::Key_S:
move(pos().x(),ui->pushButton->pos().y()-50);break;
caseQt::Key_W:
move(pos().x(),ui->pushButton->pos().y()+50);break;
default:QWidget::keyPressEvent(event);}}

解决方案

 int xx = 0;
int yy = 0;

void QtTest::paintEvent(QPaintEvent*event)
{
    QPainter painter(this);
    painter.setPen(QPen(Qt::black,1));
    painter.drawRect(50+xx,50+yy,50,50);
}

void QtTest::keyPressEvent(QKeyEvent*event)
{
    switch(event->key())
    {
        case Qt::Key_A:
            xx--;break;
        case Qt::Key_D:
            xx++;break;
        case Qt::Key_W:
            yy--;break;
        case Qt::Key_S:
            yy++;break;
    }

    repaint ();

    QWidget::keyPressEvent(event);
}
时间: 2024-09-30 17:56:19

qt-自己用Qt画了一个方块,想要控制方块移动,paintevent和keypressevent已经写好的相关文章

效果-Qt creator painter 沙画

问题描述 Qt creator painter 沙画 这种沙画效果如果用Qt painter写的话应该怎么写?求思路.谢谢~

Qt项目中用QProcess打开了一个外部应用,怎么将这个外部应用关掉?

问题描述 Qt项目中用QProcess打开了一个外部应用,怎么将这个外部应用关掉? Qt项目中我设计了两个按钮,当点击其中一个按钮时用QProcess对象打开一个应用,点击另外一个按钮时想把打开的这个应用关掉,但是一直都没成功,怎么实现呢? 解决方案 Qt QProcess应用 解决方案二: 找到句柄来关闭进程 #include <windows.h> ... class ProcessKiller : public QObject { qint64 m_pid; public: Proces

插件开发-Qt Creator 用插件法编写一个自定义窗口部件

问题描述 Qt Creator 用插件法编写一个自定义窗口部件 系统自身条件: (1)我的系统是linux,Qt Creator 5.0.2. (2)我是用Qt Creator自带的帮助文档中的例子(analogclock). 按照说明一步一步做,构建通过,并且生成3个makefile文件,一个libanalogclockplugin.so文件,貌似这就是插件,我把它拷贝到Qt Creator中designer的插件目录下.本应该在Qt Creator重启后,可以在designer中可以看到这个

Qt在vs下创建工程,然后想用QtCreator打开这个工程,应该怎么办

问题描述 Qt在vs下创建工程,然后想用QtCreator打开这个工程,应该怎么办 在VS下创建工程,然后导出一个pro文件,用QtCreator打开它,结果出现问题,应该怎么去实现呢 解决方案 http://blog.csdn.net/a_sungirl/article/details/7942201

llustrator设计一个三面浮雕小方块绘制教程

给各位llustrator软件的使用者们来详细的解析分享一下设计一个三面浮雕小方块的绘制教程. 教程分享: 1.新建一个700*700px的文件,RGB.输入任意三个字母,使用Calibri Bold字体,400pt,然后对象-扩展,注意扩展后需要取消编组. 2.把三个扩展后的字母设置成符号.打开符号面板,选中"A",然后点击符号面板上的新建符号,命名为A.重复这个过程把其他两个字母也设置一下.这样就拥有三个新符号了.   3.使用矩形工具画一个350*350px的正方形,填充颜色为1

qt移植 环境搭建-arm上的qt鼠标与触摸屏共存情况下,使用触摸屏控制qt界面,指针会飘?

问题描述 arm上的qt鼠标与触摸屏共存情况下,使用触摸屏控制qt界面,指针会飘? 运行环境:2440+linux2.6.22.6+qt4.7.3 目前问题:qt已经移植到arm板子上面,这是关于qt界面指针的驱动设置:export QWS_MOUSE_PROTO=""Tslib:/dev/event1 mouseman:/dev/mice"",我希望既能够使用触摸屏来操作qt界面也能够使用鼠标来操作,通过以上设置,发现使用鼠标没问题,可以操作,但是触摸屏使用的时候

网页上鼠标画过一个图片时均匀放大的效果是怎么实现的

问题描述 网页上鼠标画过一个图片时均匀放大的效果是怎么实现的 如题,这个效果是怎么实现的呢?不是很突兀地变大,而是均匀地变大 解决方案 jquery控制一下就行 解决方案二: 鼠标放上去图片放大的一个效果(css) 解决方案三: 用DreamWeaver添加行为:增大/收缩.

android,在一个Surfaceview上画了一个矩形,怎样再在这个矩形上画曲线?

问题描述 android,在一个Surfaceview上画了一个矩形,怎样再在这个矩形上画曲线? 要求:只画出这条曲线,曲线之外的部分不能覆盖原来的图形.如果先框出一个小矩形区域,然后再在这个区域里画曲线,结果会是整个小矩形区域都会覆盖掉原来的图形. 解决方案 mSurfaceHolder.setFormat(PixelFormat.TRANSPARENT); 将其他部分设置为透明.

在C#中有一个pannel控件,我现在想在上面画矩形,当画完一个矩形,要记住矩形的位置以及大小,松开鼠标后矩形消失!怎么弄?请教高手!

问题描述 在C#中有一个pannel控件,我现在想在上面画矩形,当画完一个矩形,要记住矩形的位置以及大小,松开鼠标后矩形消失!怎么弄?请教高手! 解决方案 解决方案二:帮你顶一下解决方案三:xml记录一下?解决方案四:谢了,有没有例子我看一下,对这个一无所知,学winform不久,请高手指点一下!解决方案五:pannel控件上有鼠标的按下事件panel1_MouseDown和panel1_MouseUp利用这两个事件.来计算.在鼠标按下的时候,记住那个点(intX=e.X;intY=e.Y;)在