当前位置: 首页 > news >正文

苏州网站开发公司鹅鹅鹅优质网站建设哪家好

苏州网站开发公司鹅鹅鹅,优质网站建设哪家好,修改WordPress的权限,wordpress主题不显示学习目标: 鼠标事件和键盘事件应用 前置环境 运行环境:qt creator 4.12 学习内容和效果演示: 1.鼠标事件 根据鼠标的坐标位置,做出对应的事件。 2.键盘事件 根据键盘的输入做出对应操作 详细主要代码 1.鼠标事件 #include "main…

学习目标: 鼠标事件和键盘事件应用

前置环境

运行环境:qt creator 4.12

学习内容和效果演示:

1.鼠标事件

根据鼠标的坐标位置,做出对应的事件。

2.键盘事件

根据键盘的输入做出对应操作

详细主要代码

1.鼠标事件

#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{status = new QLabel("鼠标在当前窗口坐标为:");status->setFixedWidth(200);mouser = new QLabel("");mouser->setFixedWidth(200);statusBar()->addPermanentWidget(status);statusBar()->addPermanentWidget(mouser);this->setMouseTracking(true);resize(800,600);QImage *image=new QImage();if(!image->load("C:/Users/jbj/Pictures/test/IMG_5037.JPG")){QMessageBox::information(this,"失败","加载图片失败,请重新检查?");delete  image;return;}QLabel* imglabe = new QLabel(this);imglabe->setFixedSize(200,300);imglabe->setPixmap(QPixmap::fromImage(*image));
}MainWindow::~MainWindow()
{
}//鼠标移动时被调用
void MainWindow::mouseMoveEvent(QMouseEvent *e){mouser->setText("("+QString::number(e->x())+","+QString::number(e->y())+")");
}
//鼠标按下时被调用
void MainWindow::mousePressEvent(QMouseEvent *e){QString qstr="("+QString::number(e->x())+","+QString::number(e->y())+")";if(e->button()==Qt::LeftButton){statusBar()->showMessage("用户已按下鼠标[左键]坐标"+qstr);}else if(e->button()==Qt::RightButton){statusBar()->showMessage("用户已按下鼠标[右键]坐标"+qstr);}else if(e->button()==Qt::MidButton){statusBar()->showMessage("用户已按下鼠标[中键]坐标"+qstr);}
}
//鼠标释放时被调用
void MainWindow::mouseReleaseEvent(QMouseEvent *e){QString qstr="("+QString::number(e->x())+","+QString::number(e->y())+")";statusBar()->showMessage("用户已释放鼠标坐标"+qstr,20);
}

 2.键盘事件

这里用到了绘画的知识点

画板 Qpalette    画家 Qpainter  钢笔QPen

理解:画师在画板上做画,会用到钢笔,当要展现时,QPainter 负责将画板呈现。

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent)
{setWindowTitle("键盘测试");setAutoFillBackground(true);//调色板QPalette pale =this->palette();pale.setColor(QPalette::Window,Qt::white);setPalette(pale);setMinimumSize(800,600);setMaximumSize(800,600);width=size().width();height=size().height();pix=new QPixmap(width,height);//画板pix->fill(Qt::white);//实际物体main=new QPixmap(28,28);main->fill(Qt::red);sx=30;sy=30;step=30;Drawpinit();resize(800,600);
}
void Widget::Drawpinit(){pix->fill(Qt::white); // 清空QPainter* painter =new QPainter;//画家QPen pen(Qt::DashDotLine);for (int i=step; i<width;i+=step) { //竖线painter->begin(pix); //选择画板painter->setPen(pen);painter->drawLine(QPoint(i,0),QPoint(i,height));painter->end();}for(int j=step;j<height;j=j+step) // 横线{painter->begin(pix);     //选择画板painter->setPen(pen);painter->drawLine(QPoint(0,j),QPoint(width,j));painter->end();}painter->begin(pix);painter->drawPixmap(QPoint(sx,sy),*main);painter->end();
}void Widget::paintEvent(QPaintEvent *){QPainter painter;painter.begin(this);//将之前在 Drawpinit() 函数中绘制的 QPixmap 对象绘制到 Widget 的左上角(坐标 (0, 0))。painter.drawPixmap(QPoint(0,0),*pix);painter.end();}
void Widget::keyPressEvent(QKeyEvent *evt){sx=sx-sx%step;sy=sy-sy%step;//左右移动if(evt->key()==Qt::Key_Left){sx=(sx-step<0)?sx:sx-step;}if(evt->key()==Qt::Key_Right){sx=(sx+step+main->width() > width)?sx:sx+step;}if(evt->key()==Qt::Key_Up){sy=(sy-step<0)?sy:sy-step;}if(evt->key()==Qt::Key_Down){sy=(sy+step+main->height() >height)?sy:sy+step;}Drawpinit(); //重新设置参数update();   //触发绘画
}
Widget::~Widget()
{}

总结:

键盘事件:

        void keyPressEvent(QKeyEvent *evt) //按下时被调用

鼠标事件:

           //鼠标移动时被调用
            void mouseMoveEvent(QMouseEvent *e);
            //鼠标按下时被调用
            void mousePressEvent(QMouseEvent *e);
            //鼠标释放时被调用
            void mouseReleaseEvent(QMouseEvent *e);

详细开发则需查阅官方开发文档。

最后附上源代码链接
对您有帮助的话,帮忙点个star

26-mouserEvent · jbjnb/Qt demo - 码云 - 开源中国 (gitee.com)

27-QkeyEvent · jbjnb/Qt demo - 码云 - 开源中国 (gitee.com)

http://www.yayakq.cn/news/649306/

相关文章:

  • 网站建设搭配专业团队表情包张伟
  • 网站还没上线 可以对网站备案吗广州网站建设公司推荐
  • 网站建站公司官网厦门的一个做设计的网站
  • 中山外贸营销网站建设怎样推广网站平台
  • 油漆涂料网站建设网页设计 效果图
  • 企业网站设计图wordpress数据库配置失败
  • 广州建网站维护公司住建网官网
  • 增强网站互动设计高端网站建设
  • 海南海口网站建设wordpress 好看主题
  • 盐城专业做网站较好的公司网站新闻页面无法翻页
  • 京市保障性住房建设投资中心网站抖音推广网站
  • dede 手机网站深圳外发加工网
  • 做网站的主营业务html教程的内容
  • c 如何做网站深圳兆富资本非吸案4人被判刑
  • 做百度网站费用多少合适企业的网站设计能否以为导向
  • 网站怎么制作 优帮云电商网站的建设步骤
  • 荣耀手机官方网站阿里巴巴新网站怎么做运营
  • 网站备案 每年网站设计结构
  • 做哪一类网站能赚钱wordpress数据库介绍
  • 自己做的网站如何盈利工作室网站备案
  • 24小时自动发货网站建设外国网站建设公司
  • iis怎么使用来建设一个网站wordpress 上传绕过
  • 北京学校网站建设公司晋城建设网站
  • 肇庆住房城乡建设局网站百度收录效果好的网站
  • 公装设计网站wordpress自动alt图片
  • 某网站突然不能浏览了河源市seo点击排名软件价格
  • 西安网络技术有限公司长春网站seo外包
  • 大型网站开发项目书籍wordpress后台加载很慢
  • 东莞英文网站制作网站建设要注意那些问题
  • 廊坊网站推广网络规划设计师培训视频教程