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

嘉兴网站公司哪家好企业网站的制作用到的技术

嘉兴网站公司哪家好,企业网站的制作用到的技术,安丘住房建设局网站,做一个网站前端页面多少钱本节对应的视频讲解#xff1a;B_站_链_接 【QT开发笔记-基础篇】 第4章 事件 4.7 拖动事件 本章要实现的整体效果如下#xff1a; QEvent::DragEnter ​ 当拖动文件进入到窗口/控件中时#xff0c;触发该事件#xff0c;它对应的子类是 QDragEnterEvent QEvent::DragLe…本节对应的视频讲解B_站_链_接 【QT开发笔记-基础篇】 第4章 事件 4.7 拖动事件 本章要实现的整体效果如下 QEvent::DragEnter ​ 当拖动文件进入到窗口/控件中时触发该事件它对应的子类是 QDragEnterEvent QEvent::DragLeave ​ 当拖动文件离开窗口/控件时触发该事件它对应的子类是 QDragLeaveEvent QEvent::DragMove ​ 当拖动文件在窗口/控件中移动时触发该事件它对应的子类是 QDragMoveEvent QEvent::Drop ​ 当拖动文件在窗口/控件中释放时触发该事件它对应的子类是 QDropEvent 本节通过一个向 QTextEdit 中拖放文本文件的案例来讲解拖放事件 1. 自定义控件 TextEditX 自定义一个标签控件 TextEditX让它继承自 QTextEdit然后重写拖放相关的函数。 1.1 添加自定义控件类 TextEditX 首先在左侧项目文件名上右键然后选择 “添加新文件”选择 “C Class”如下 新建类文件信息如下 然后把父类修改为 QTextEdit 来到 texteditx.h 将父类由 QWidget 修改为 QTextEdit如下 #include QTextEditclass TextEditX : public QTextEdit {// ... };来到 texteditx.cpp 将父类由 QWidget 修改为 QTextEdit如下 #include texteditx.hTextEditX::TextEditX(QWidget* parent) : QTextEdit{parent} { }1.2 重写拖放函数 首先来到 textedit.h声明这4个拖放函数 #include QDragEnterEvent #include QDragLeaveEvent #include QDragMoveEvent #include QDropEventclass TextEditX : public QTextEdit { protected:void dragEnterEvent(QDragEnterEvent* event);void dragMoveEvent(QDragMoveEvent* event);void dragLeaveEvent(QDragLeaveEvent* event);void dropEvent(QDropEvent* event); };然后来到 textedit.cpp 实现这4个函数这里仅仅是加一句打印 TextEditX::TextEditX(QWidget* parent) : QTextEdit{parent} {this-setAcceptDrops(true); }void TextEditX::dragEnterEvent(QDragEnterEvent* event) {qDebug() dragEnterEvent;// 判断是正常的文件表明用户可以在这个窗口部件上拖放对象。// 默认情况下,窗口部件是不接受拖动的。Qt会自动改变光标来向用户说明这个窗口部件是不是有效的放下点event-acceptProposedAction(); }void TextEditX::dragMoveEvent(QDragMoveEvent* event) {qDebug() dragMoveEvent; }void TextEditX::dragLeaveEvent(QDragLeaveEvent* event) {qDebug() dragLeaveEvent; }void TextEditX::dropEvent(QDropEvent* event) {qDebug() dropEvent; }1.3 将 TextEditX 显示到界面 来到 drag_widget.cpp在构造函数中添加 TextEditX 控件如下 #include texteditx.hDragWidget::DragWidget(QWidget* parent) : QWidget{parent} {QVBoxLayout* verticalLayout new QVBoxLayout(this);verticalLayout-setSpacing(0);verticalLayout-setContentsMargins(10, 10, 10, 10);// 添加一个TextEditTextEditX* textEdit new TextEditX(this);textEdit-setPlaceholderText(支持文件拖放的方式来打开文件);verticalLayout-addWidget(textEdit); }此时运行程序效果如下 2. 实现打开文件功能 只需修改 dropEvent() 函数如下 void TextEditX::dropEvent(QDropEvent* event) {qDebug() dropEvent;QListQUrl urls event-mimeData()-urls();if ( urls.isEmpty() ) {return;}QString fileName urls.first().toLocalFile();qDebug() urls.first() : fileName;QFile file(fileName);if ( file.open(QIODevice::ReadOnly) ) {setPlainText(file.readAll());} }拖放一个桌面文件到 TextEditX 中效果如下 3. 实现鼠标滚轮放大字体 以上在 TextEditX 中显示的文本字体大小固定接下来实现通过鼠标滚轮来设置字体大小 首先在 texteditx.h 中声明鼠标滚轮滚动的事件 wheelEvent()如下 class TextEditX : public QTextEdit { protected:void wheelEvent(QWheelEvent* e); };然后实现 wheelEvent() 函数 #include QApplicationvoid TextEditX::wheelEvent(QWheelEvent* e) {if ( QApplication::keyboardModifiers() Qt::ControlModifier ) { // ctrl键的判断// zoomIn/zoomOut可以直接修改字体大小if ( e-delta() 0 ) { // 滚轮远离使用者, 进行放大this-zoomIn();} else {this-zoomOut(); // 进行缩小}} else {QTextEdit::wheelEvent(e); // 调用父类的否则无法实现文本的上下滚动。} }此时运行效果如下
http://www.dnsts.com.cn/news/214735.html

相关文章:

  • it网站建设视觉设计网站推荐
  • 南海营销网站开发wordpress 多站点管理
  • 新河网站什么是网站后期建设
  • 怎么样让网站正常解析怎么去做网络推广
  • 微网站如何做推广做网站一个月能赚多少钱
  • 信息技术会考做网站做网站 怎么备案
  • 建网站内容意大利设计网站
  • 揭阳响应式网站价格wordpress 导航网站模板下载
  • 做网站设计的广告公司比较实用的h5网页建设网站
  • 网站开发项目经验描述全网营销概念
  • 怎么样建设一个电影网站视频网站后台信息维护要怎么做
  • 网站建设的格式app开发的基本步骤
  • 织梦网站头部到底部去了简易手工小制作
  • 巅云建站南通企业做网站
  • 在网站上发消息做宣传肇东网站建设
  • 网站开发需求分析实例珠海网络网站建设
  • 北京高端品牌网站定制计算机平面设计主要做什么
  • 网站建设专家 金石下拉WordPress开启mecache
  • 建设网站重庆开发公司注册资金要求
  • 龙山建设工程有限公司网站如何改wordpress网站图标
  • 济宁营销网站建设广告网架
  • yii2 网站开发网站设计职业培训
  • 不同类型网站优化小程序
  • 学生成绩管理系统网站建设支付网站备案
  • 网站注册费旅游网站建设的市场分析
  • 制作网站需要什么高端大气的科技网站模板
  • 东昌网站建设房地产网站建设背景
  • 网站微信分享链接怎么做的淄博市建设局网站
  • dedecms 网站访问量惠州网络推广费用
  • 百度seo网站优化服务凯里市建设局网站