首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    17.QT-事件处理分析、事件过滤器、拖放事件

    对象 2.QWidget中的event(QEvent*)进行事件处理 3.event()根据事件类型调用不同的事件处理函数 4.在事件处理函数中发送Qt中预定义的信号 5.调用信号关联的槽函数 以按钮点击为例...其中QCloseEvent继承与QEvent,在QEvent中常用成员函数有 void accept (); //接收者处理当前事件 void ignore (); //接收者忽略当前事件...()函数 组件要想被监控,则需要通过installEventFilter()安装事件过滤器 事件过滤器能够决定是否将事件转发给组件对象,如下图所示: ?...eventFilter函数体如下所示: bool QObject::eventFilter ( QObject * watched, QEvent * event ); // watched...拖放事件的步骤如下: 1.在构造函数里通过setAcceptDrops(true)函数,让该组件能接受拖放事件 2.重写dragEnterEvent(QDragEnterEvent* event)函数并判断

    1.9K20

    【QT】Qt事件

    Event函数都是虚函数,我们可以通过C++多态,重写Event函数 首先创建一个QWidget项目,在项目处右键AddNew一个C++类文件,勾选Include QWidget以及Add Q_OBJECT...,在帮助文档中找到要重写事件的定义,此时需要我们选择主题,我们选择QWidget Class,然后将函数名以及参数复制到代码中,然后重写函数,在ui中拖一个label进去,将label提升为我们自己新建一个...这其中的英文解释很简单就不翻译了,主要是第五条这里的Meta键,在Windows上指Windows键,在Mac上指Command键,第六条Numlock处于打开状态,第七条是输入法切换的 void...(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //给label安装事件过滤器..."; return true; } } return QWidget::eventFilter(obj,event); } event_bool_super

    1.2K10

    Qt 窗口消息处理机制及拦截消息的五种方法

    前几篇文章中,我们介绍了一些简单的消息拦截方法,但其实在整个 Qt 框架中,不仅仅有那么几处拦截消息的方法,在 Qt 文档中标明了,一共有5中方法。下面就一一列举一下每种方法所在的位置以及实现方法。...【Qt 拦截消息的五种方法】 覆写框架类QCoreApplication的notify函数,这个函数将得到整个框架中所有窗口的消息 给框架类安装一个消息过滤器 QCoreApplication->nativeEventFilter...(filterObj),这种我们代码没有实现 给某窗口安装一个消息过滤器 QPushButton->installEventFilter(filterObj) 继承某窗口并覆写event函数(该函数负责某个窗口中派发所有子消息...{ Q_OBJECT public: explicit CWidget(QWidget *parent = 0); CPushButton\* \_button; bool eventFilter...::eventFilter(obj, ev); } #include “capplication.h” #include “cwidget.h” int main(int argc, char* argv

    1.3K10

    29.QT-自定义窗口拖动、自定义QToolButtonQPushButton开关按钮、界面阴影

    需要将窗口标志设为: Qt::FramelessWindowHint |Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint 2.然后还需要通过安装...EventFilter给自己监视窗口拖动 其中构造函数实现: myUi::myUi(QWidget *parent) : QWidget(parent) { setWindowFlags(Qt...::eventFilter(obj,evt); } 自定义QToolButton/QPushButton开关按钮 1.以QToolButton为例,构造函数里实现: myUi::myUi(QWidget...//当dx为负时,表示偏移为左,反之为右 //当dy为负时,表示偏移为上,反之为下 void setBlurRadius ( qreal blurRadius ); //设置阴影半径,值越大,则阴影效果越强...2.QPainter绘画 首先,在构造函数里调用下面函数,设置透明: setAttribute(Qt::WA_TranslucentBackground); 然后在paintEvent函数里进行绘制 void

    5K30

    在Windows上安装GIT

    ARM64可以使用WIN+R打开cmd输入下面面的代码进行查看echo %PROCESSOR_ARCHITECTURE%如果输出界面是显示AMD64下载X64就好直接点击会自动下载,下载完之后直接运行GIT安装包...第一个界面没什么好解释的直接点击NEXT进入下一个界面,之后是选择本地地址,不建议下载在C盘中其他的随意之后选择GIT的配置文件,一般直接默认选择就好,更加具体的内容可以参考:https://blog.csdn.net...所以选择了VScode可以根据自己的需求进行选择初始化新项目的主干名称,这个根据自己需求进行都可以,知道自己的是什么就好调整git的环境变量,默认的选择直接NEXT就好选择SSH可执行文件,选择默认即可(安装...也是默认选择配置Git Bash使用的终端模拟器,也是默认选择git pull默认行为,也是选择默认选择选择凭证助手,也是直接默认选择配置实验选项,可以选择第一个,也可不进行选择,一般不用开启,直接下一步安装即可...GIT到此就安装完毕了,如果想要更详细的内容解释可以自行查看git官网的BOOK之后我们需要进行git的安装验证,在CMD中输入git –version2.设置用户名和邮箱在使用 Git 之前,建议设置全局的用户名称和电子邮件地址

    47900

    ​在tinycolinux上安装chrome

    好了,现在让我们在tinycolinux上安装GUI环境,以此原生UI为基础,实际上我们的最终目的不是这个,我们是要安装chrome,把它打造成类chrome os的东西,最终将tinycolinux发展成面向...在tinycolinux上安装x环境 ----- 根据http://wiki.tinycorelinux.net/wiki:adding_a_desktop_to_microcore有xvesa和xorg...现在在基础桌面环境里安装flwm和wbar.tcz(mac style docker?)...安装chrome ----- 我下载的是3.x的32.6 M大小,版本为14.0.835.186的chromium-browser.tcz,在完成安装了x界面后,剩下的基本就是安装chrome和依赖tczs...全部安装完后重启一次,右键桌面APPS-chrouim,进入chrome,发现弹出对话框是乱码,点最右下角的那个乱码按钮,进入chrome,发现标题栏和地址栏是乱码,就算是在地址栏输入英文,也是乱码。

    3.4K30

    在Windows上安装Jenkins

    常识 .bat结尾的都是Windows上运行的文件。 .sh结尾的都是在linux上运行的文件。...如果安装了apache-tomcat: apache-tomcat/bin目录下的startup.bat在windows上启动。...apache-tomcat/bin目录下的shutdown.bat在windows上关闭。 下载msi版本的Jenkins要在服务里面找到它,设置属性-设置为自启动,不然关掉电脑后就得去服务里找它。...这种msi程序安装是最简单的方式,但只适合Windows系统上。 补充 今天小编安装Jenkins其实也是栽了坑的。第一次安装Jenkins,昨天在网速不好的情况下用war包安装的。...war包安装比较麻烦。安装插件,因为网速不好,导致插件安装失败很多,今天想着早起把失败的安装好,结果呢,安装了两个小时插件,最后10个怎么都装不成功,一怒之下,我就彻底卸载了Jenkins。

    4.3K20

    在 Ubuntu 上安装 MySQL

    本教程展示了在 Ubuntu 上安装 MySQL 8 的详细步骤。 先决条件 请使用 root 用户,或者具有管理员权限的用户登录系统,完成以下操作。 在 Ubuntu 中安装 MySQL 1....配置 MySQLPPA 在 Ubuntu 中安装 Mysql 最方便方式是用 MySQL 自己的 APT 仓库。 APT 仓库中包含了 MySQL 的服务器和工具相关的软件。...安装 MySQL 执行以下命令开始安装 MySQL: sudo apt install mysql-server 这一步会安装一个不安全的 MySQL 服务器。我们将在下一步配置服务器的安全性。...通过 Systemd 管理 MySQL 服务器 安装完成后,MySQL 服务就会自动启动。...ERROR 1819 (HY000): Your password does not satisfy the current policy requirements ※ 重点:修改密码策略 查看密码策略,在

    2.9K21

    在Linux上安装Kibana

    centos7用“service firewalld stop” centos6用“service iptables stop” 在官网下载对应的rpm包,通过winscp传到/data/kibana5.6.2...但是我今天在centos7安装好准本启动的时候遇到一个问题。 [root@192 ~]# cd /usr/share/kibana/bin/ [root@192 bin]# ....),可以查出来哪个包包含这个东西,然后yum安装就行了。 比如我查出来,是libstdc++-4.8.5-28.el7_5.1.i686包含libstdc++.so.6,就安装了。...关于kibana的配置 如果是在虚虚机上安装的kibana,想在自己windows上打开kibana页面,就需要改一下配置文件,并且关闭防火墙,文章最开始就写了怎么关闭防火墙。...server.host: "192.168.198.131" 这里不仅要去掉#,还要把引号里的地址改成你自己虚机的ip地址,我这里是192.168.198.131,这样你在windows浏览器输入http

    3.5K20

    在 Ubuntu 上安装 Nginx

    在 Ubuntu 上安装 Nginx 是一个简单的过程。以下是详细的步骤:1. 更新系统包在开始安装之前,建议先更新系统的软件包列表以确保获取最新的版本。sudo apt update2....安装 Nginx使用 apt 包管理器安装 Nginx:sudo apt install nginx安装过程中,系统可能会提示你确认操作,输入 Y 并按回车继续。3....检查 Nginx 服务状态安装完成后,Nginx 会自动启动。...创建一个简单的虚拟主机(可选)如果你想为你的网站创建一个虚拟主机,可以按照以下步骤操作:创建一个新的配置文件:在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,例如...example.com /etc/nginx/sites-enabled/测试配置文件语法:sudo nginx -t重新加载 Nginx:sudo systemctl reload nginx访问站点:在浏览器中访问

    63710
    领券