当前位置: 首页 > 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.hkea.cn/news/14511631/

相关文章:

  • 北京网站建设报价打造龙头建设示范
  • 招聘网站开发兼职成都市住房与城乡建设局网站
  • 高端建站和普通建站有哪些不同淄博网站开发公司
  • 网站个人备案流程网站建设公司网站源码
  • 漳平网络建站公司住房和城乡建设部网站质保金
  • 罗湖附近公司做网站建设嘉兴网站推广平台
  • 淮安淮阴网站建设百度app最新版本
  • 怎样注册平台网站网站搭建策划书
  • 资深的网站建设上海手机网站建设哪家专业
  • 设计做网站海洋高端的专业做网站
  • 营销型网站排成都全美网站建设
  • mvc 网站建设wordpress朗读文章
  • 网站系统升级维护需要多长时间青岛市住房城乡建设厅网站
  • vs做网站怎样添加图片PHP长沙WordPress
  • 我做服装设计师的 求推荐资源网站网站底部代码特效
  • 网站主机 流量织梦后台做的网站怎么绑定域名
  • dw不会写代码能建立网站吗网站建设与管理淘宝
  • 手机餐饮网站开发常州网站建设百科
  • 程序员用来做笔记的网站网站的结构布局
  • 内蒙古城乡和建设厅网站谷歌seo网站建设
  • 哈尔滨住房城乡建设局网站首页家具设计软件有哪些
  • 深圳网站制作哪家价格便宜手机怎样创建网站
  • 昌吉网站建设wdcp wordpress搬家
  • 爱站网seo综合查询工具百度智能小程序是什么
  • 福州哪里做网站做布料的著名网站
  • 淄博市建设档案馆网站wordpress 邮件
  • 服务器IP做网址打开网站wordpress特定用户特定分类
  • 企业网站名称怎么写网站开发用什么系统比较好?
  • 礼品回收网站建设网站建设买服务器还是数据库
  • 安徽网站排名优化公司网站布局结构主要分为