展开

关键词

Qt开源作品8-通用控

一、前言 在做一些项目的过程中,有一种应用场景是需要拖设备在一个容器中,自由拖摆放到合适的位置,然后保存对应设备的坐标位置信息,在软好以后自加载配置好的坐标位置信息,将每个设备到对应的位置 这就是这个控的来由,还有一种场景比如组态软,自由拖设计自定义控和图片等,也需要在容器中拖来拖去的,如果有一个通用的控类,直接new出来传入需要的widget,这样就方便多了,不需要每个控或者窗体自身去实现这种通用的重复的功能 = Qt::LeftButton) { return false; } //判断控的区域是否包含了当前鼠标的坐标 } } else if (mouseEvent->type() == QEvent::MouseMove && pressed) { //计算坐标偏值 ,调用move函数过去 int offsetX = mouseEvent->pos().x() - lastPoint.x(); int offsetY

37620

Qt编写自定义控61-通用

一、前言 通用类,目标就是为了实现放入任意的控以后,支持鼠标拖,在容器中或者父类中拖,这个应用场景非常多,比如在地图上放置的设备,需要用户自行按下拖到指定的合适的位置,然后保存设备的位置坐标到数据库 ,可否将这个功能独立出来,只要传入控就行呢,当然可以,比如我写过很多自定义控,现在需要控放到某个容器中能自由拖,只需要new出通用类来就行。 控 三、效果图 [在这里插入图片描述] 四、头代码 #ifndef MOVEWIDGET_H #define MOVEWIDGET_H /** * 通用控类 作者:feiyangqingyun 远超qwt集成的控数量。 每个类都可以独立成一个单独的控,零耦合,每个控一个头和一个实现,不依赖其他,方便单个控以源码形式集成到项目中,较少代码量。 所有控最后生成一个态库(dll或者so等),可以直接集成到qtcreator中拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。

43830
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python,将一个夹里面的到另一个

    python,将一个夹里面的到另一个夹 import shutil import os def remove_file(old_path, new_path): print (old_path) print(new_path) filelist = os.listdir(old_path) #列出该目录下的所有,listdir返回的列表是不包含路径的 dst) if __name__ == '__main__': remove_file(r"/data/temp1", r"/data/temp2") ---- 版权属于:青阳のBlog 本链接

    9.5K51

    全面认识 Qt Widgets、QML、Qt Quick

    标记语言:像 C++ 一样,QML 也是一种语言,它的以 .qml 结尾。 Qt Quick 更适合开发(尽管可用于桌面开发),它有随时可用的弹出窗口、画、滑、抽屉和常用控,在开发中无处不在。 UI 设计 它们都可以与 Qt Designer 一起工作,并生成相应的 ui (在 Qt Widgets 中,后缀是 .ui;而在 Qt Quick 中,后缀是 .ui.qml),为设置布局和创建接口提供了一个高级视图 ui 不是强制性的,也不是必需的,可以选择使用 C++/Python 或 QML/JS 以编程方式进行设计和布局。 5 Qt Widgets 和 Qt Quick 该如何选择? 在 Qt 4.7 发布时,引入了 QML,用于开发,其全面支持触摸操作、流畅的画效果等。但在 Qt 5 中,QML 已经不再局限于开发,也可用于开发传统的桌面程序。

    47110

    Oracle数据

    11G and before 分为不停机和停机两种方式: 一、不停机数据 完整步骤: 1、确认开启归档模式 2、offline数据 3、物理层数据(可重命名) 4、逻辑层rename --物理层数据 SQL> ! 二、停机数据 完整步骤: 1、关闭数据库 2、物理层数据(可重命名) 3、开启数据库到mount 4、逻辑层rename数据路径及名称 5、开启数据库 --创建一个TEST表空间,发现建在了 明确无法在线数据,需要关闭数据库。 --操作系统层面数据,并且重命名 [oracle@orcl11g:/oradata/ORCL11G/datafile]$ ll total 102408 -rw-r----- 1 oracle

    15120

    Ubuntu14.04安装、配置与卸载QT5的步骤详解

    /5.9/5.9.0/ 下载后存到你想存的,我这里是在主中创建了个qt5的夹 ? 这里有我们使用到的一些按键: 当我们按ESC进入Command模式后,我们可以用下面的一些键位来光标 保存:wq; j 向下一行; k 向上一行; h 向左一个字符; l 向右一个字符 ;; 向上箭头 向上; 向下箭头 向下; 向左箭头 向左; 向右箭头 向右; i 在光标之前插入; a 在光标之后插入; I 在光标所在行的行首插入; A 在光标所在行的行末插入 再打开Qtcreaor就不会出现错误的弹窗了。如果觉得每次去找qtcreator软不方便,可以将其锁定在启处。到此完美解决了Qt的安装。 如:我的Qtcreator安装在root下的qt夹,那么按上图操作,可以发现MaintemanceTool所在位置 在这个目录下的终端输入sudo ./ MaintenanceTool,这时会跳出软卸载界面

    81631

    QT5.6植到ARM三星4412-

    程序 7 1.3 部署开发板运行环境 7 1.3.1 拷贝QT运行库 7 1.3.2 libiconv库下载 8 1.3.3 创建相关配置 8 1.3.4 拷贝QT依赖库 9 1.3.5 QT支持 Qt完全面向对象、且模块化程度更高,易与扩展,并且允许真正组编程。此外,Qt支持更多的平台与丰富的API,支持2D/3D 图形渲染、OpenGL、大量的开发档、XML等等。 2.植前需要先植好tslib库,tslib 是电阻式触摸屏用于校准的一个软库,是一个开源的程序,能够为触摸屏驱获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱的适配层,为上层的应用提供了一个统一的接口 ① 在/qt5.6_lib下创建一个配置(qt5.6_path.config),用来存放QT相关的环境变量设置。 export LD_PRELOAD=$QTDIR/lib/preloadable_libiconv.so ② 创建一个qt5.6_config.sh 脚本,用来开机自加载QT的配置。

    15820

    python 夹操作

    fp.close() #关闭。python会在一个不用后自关闭,不过这一功能没有保证,最好还是养成自己关闭的习惯。 (unix系统中的) fp.tell() #返回操作标记的当前位置,以的开头为原点 fp.next() #返回下一行,并将操作标记位到下一行。 fp.seek(offset[,whence]) #将打操作标记到offset的位置。这个offset一般是相对于的开头来计算的,一般为正数。 2表示以末尾为原点进行计算。需要注意,如果以a或a+的模式打开,每次进行写操作时,操作标记会自返回到末尾。 6.(目录) shutil.move(“oldpos”,”newpos”) 7.删除 os.remove(“file”) 8.删除目录 os.rmdir(“dir”) #只能删除空目录 shutil.rmtree

    7.8K10

    QT生成态链接库.so

    因为后面自生成的.h里还有这个。 自生成的有4个一个pro,一个cpp,一个XXX.h,一个XXX_global.h 可以检查下.pro里的类型是不是lib类型。 下面就可以在XXX.h里声明自己要写的函数,进行宏定义,#define一些用到的常量。 函数的实现需要点开.cpp,cpp中专门写实现这些函数(方法)的代码。 下面说调用这个函数: 新建一个工程,注意在pro中需要将lib的目录和.so的目录加进去。 lib目录(就是.h所在目录):INCLUDEPATH +=/home/will/Projects/pluginTest/ .so目录为:LIBS += -L/home/will/Projects/

    2.2K90

    一、Qt Quick 和 QML

    开发人员和UI设计师可以同时使用QML进行高效的工作,不再需要额外的原型:Qt Quick使快速UI原型开发成为可能。 QML主要为端设备开发可伸缩的界面,由于Qt Quick直接使用OpenGL作为自己的图形引擎管线进行渲染(依赖GPU),因而在嵌入式和平台上都能够取到卓越性能。 1、QML QML(Qt Meta-Object Language,Qt元对象语言)是一种描述应用程序用户界面的声明式编程语言,它使用一些可视组和组之间的交互来描述用户界面。 QML可读性高类似JSON的声明语法,可以对组进行复用和自定义。 2、Qt Quick Qt Quick是QML的一个数据类型和功能的标准库,包含了可视化类型、交互类型、画、模型和视图、粒子特效和渲染特效等。

    22610

    Qt编写控属性设计器3-拉伸控

    一、前言 插加载了,拖曳控也实现了,接下来就是一个最难点了,跟QtDesigner或者其他开发环境一样,能够任意自由的拉伸控大小,位置,为了这个功能,还特别编写了一个控来实现这个功能,名字叫 描点跟随控可设置是否绘制描点、边距、描点颜色、描点尺寸、描点样式 正方形+圆形、选中边框宽度,支持上下左右按键窗体,支持delete键删除窗体,支持八个描点改变窗体大小尺寸。 二、实现的功能 自加载插中的所有控生成列表,默认自带的控超过120个。 拖曳到画布自生成对应的控,所见即所得。 所有控的属性自提取并显示在右侧属性栏,包括枚举值下拉框等。 支持手选择插,外部导入插。 可以将当前画布的所有控配置信息导出到xml。 可以手选择xml打开控布局,自根据xml加载控。 可拉条、勾选模拟数据复选框、本框输入,三种方式来生成数据应用所有控

    43800

    Qt透明无边框窗口

    章介绍如何设置窗口透明,无边框和拖。 ? 0x00 如何透明窗口?   第一步:开启窗口的透明层。 */ setAttribute(Qt::WA_TranslucentBackground);   第二步: 重写paintEvent事并使用QPainter画透明层。 设置setWindowFlag(Qt::FramelessWindowHint)即可无边框窗口,但无法和改变大小。 0x02 如何拖拽窗口? 由于系统窗口被设置为Qt::FramelessWindowHint会导致窗口不能被拖。通过捕获鼠标从而实现窗口。 frameGeometry().topLeft() - event->globalPos(); } } void mouseMoveEvent(QMouseEvent *event) { /* 窗口

    1.1K20

    Qt 5.15长期支持版本正式发布

    Qt Core 新增QFile::moveToTrash接口,用于将到Windows,macOS和Linux桌面上的垃圾箱/回收站(实现 freedesktop.org规范)。 Qt QML 「引入了内联组(能够在同一中声明多个QML组)。」 引入了一些所需的属性。 添加了一种向QML注册类型的声明方式。 添加了QML格式化工具,该工具可以根据QML编码约定自格式化任何QML。 添加了对Nullish合并运算符(??)的支持。 平台变更 Android 默认情况下,使用Android的本机对话框进行打开(,多个,目录)和保存操作。 将minSdkVersion和targetSdkVersion从AndroidManifest.xml到build.gradle(QTBUG-70817)。

    1.2K20

    自定义Qt对话框

    */ void paintEvent(QPaintEvent *); /** * 1.鼠标按下事 * 2.记录鼠标按下的坐标位置,用于窗口 */ void mousePressEvent(QMouseEvent *event); /** * 1.鼠标 * 2.计算窗口 */ void mouseMoveEvent * 2.关于更多: * 2.1 Qt君公众号章:《Qt加载XPM图像》 * 2.2 png转xpm格式工具: https://cn.office-converter.com/PNG-to-XPM 记录鼠标按下的坐标位置,用于窗口实现。 } } 鼠标,用于对话框窗口。

    62250

    QT Creator平台运行LVGL模拟器

    1、开发环境及组 QT Creator SDL态库 LVGL源码 2、组下载 2.1 QT Creator下载及安装 下载地址:https://www.qt.io/download ?    2.3 LVGL源码下载 下载地址(版本V7.10.1):https://github.com/lvgl/lvgl 3、QT工程建立及LVGL源码植 ?    新建完成后,会有两个夹,LVGL的源码以及SDL库需要放到LVGL_TEST夹下。 ?    拷贝x86_64-w64-mingw32或者i686-w64-mingw32夹下include和lib夹至QT工程目录,bin下的SDL2.dll也拷贝到QT工程目录下。 ? ?    拷贝LVGL源码至QT工程目录,LVGL-7.10.1夹下是我们上面下载的LVGL源码,LV_examples夹下是一些例子,源码可从LVGL官网下载,lv_drivers是关于硬的一些

    19220

    基于NXP i.MX28 MPU的疫情监控平台2-Qt环境搭建

    不同平台下的植,只需要修改很小一部分或者不用修改就可以直接运行。 ? Qt支持的平台 嵌入式Qt,即QtE,属于Qt Embedded Linux 分支平台。 Qt/E 所面对的硬平台较多,当开发人员需要在某硬平台上Qt/E 时,需要下载Qt 源代码,利用交叉编译器编译出 Qt 库。 接着需要将 Qt 库复制两份,一份放置在开发主机上,供编译使用;一份放在目标板上,供运行时态加载使用。 ? 编译Qt程序 这样,就生成了hello_qt的可执行,可以使用file命令看一下类型: ? 查看类型 支持ARM平台运行的Qt程序。 this->resize(width, height); //设置窗口大小为屏幕的1/3 // this->resize(width/3, height/3); //窗口位置到左上角

    35160

    Qt介绍及环境搭建

    哪些软是用Qt开发的 Qt Creator ? Google地球(Google Earth):三维虚拟地图软 ? WPS Office:金山软公司推出的办公软 ? Autodesk Maya, 3D建模和画软。 ? VLC多媒体播放器:一个体积小巧、功能强大的开源媒体播放器。 ? 为知笔记 ? 网易云音乐(Linux版本 ldd查看) ? “一次编 写,随处编译”,即同样的代码,只需在新的系统上重新编译即完成了植,大大 降低了植成本。 支持 2D/3D 图形渲染,支持 OpenGL,大量的开发档、强大的帮助系统 XML、数据库支持...... Qt现在的地位 未来由Qt来编写;使用Qt,构建您的世界; ? 选择在D盘下的qt夹下 ? 如果内存够的话全选也不是不可以(不建议) ? 一路next后安装就完事(静等5分钟) ?

    90740

    使用VS2010开发Qt程序的一点经验

    导读      相比于Qt Creator,我更喜欢用VS2010来进行开发。虽然启时间相对较慢,但是VS下强大的快捷键和丰富的插,以及使用多年的经验,都让我觉得在开发过程中得心应手。 因为我们在.vcxproj中改了工程使用的Qt库版本,于是这里需要在Qt-VS-Addon插中进行配置,选择Qt Project Settings弹出如下对话框,选择当前可用的Qt库版本(我的版本名称为 对于基于其他Qt版本的工程,也可以如上进行植。植过程中会需要修改头,毕竟Qt 4.x和Qt 5.x相比差异性较大,这也是我在阅读人家源代码的时候最大的烦恼。 Qt 4.x port to Qt 5.x      上面说过,如果要植基于Qt 4.x的工程到Qt 5.x,要做的事情还真比较多。这一节就讲讲Qt库的lib。 这仅仅是lib的设置,源代码的修改其实是另一大难题。尤其是QtGui在Qt 5.x中已经消失,因此需要大面积修改内容。

    60780

    资讯 | Qt 5.15中的新功能

    Qt Core QFile::moveToTrash提供了一个跨平台API,用于将到Windows,macOS和Linux桌面上的垃圾箱/回收站(实现 freedesktop.org规范)。 Qt QML 引入了内联组(能够在同一中声明多个QML组)。 引入了所需的属性。 添加了一种向QML注册类型的声明方式。 qmllint提供警告了更多不推荐使用的QML功能。 添加了qmlformat工具,该工具可以根据QML编码约定自格式化任何QML。 添加了对Nullish合并运算符的支持。 支持同步,以及默认,融合,想象,素材和通用委托样式。 向ComboBox添加了selectTextByMouse属性。 平台变更 Android 默认情况下,使用Android的本机对话框进行打开(,多个,目录)和保存操作。 Wayland 在客户端上引入了对Vulkan的实验支持。

    1.3K10

    Linux 初学者:

    复制、、链接 明显地,从命令行修改和处理有很多的方式,而不仅仅是处理它们的权限。当你试图打开一个不存在的是,大多数应用会创建一个新。 mv 命令东西。也就是说,它从一个位置到另一个位置。 这是因为你实际做的是重命名一个目录,与第一个例子相同,你做的是重命名。实际上,即使你从一个目录到另一个目录 “” 一个,只要两个目录在相同的存储设备和分区,你就是在重命名。 当你在相同分区 “” 一个时,操作系统实际做的仅仅是在分区表中改变了那个的入口,但它仍然指向磁盘上相同的簇信息。 是的!是一个谎言!至少在相同分区下是。 如果你试图一个到一个不同的分区或者不同的设备, mv 仍然很快,但可以察觉到它比在相同分区下慢了。这是因为实际上发生了复制和清除数据。 重命名 有几个不同的命令行 rename 工具。

    18420

    相关产品

    • 企业移动管理

      企业移动管理

      企业移动管理(EMM)专注于提供企业移动业务的全方位数据安全保护解决方案。为企业构建统一的移动安全工作域,将企业办公环境和员工私人环境隔开,防止终端侧恶意泄密,既满足了企业管理等需求,又保护了员工的个人隐私。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券