QT 如何知道用户点击 QTextBrowser 中的具体链接地址

2023-05-16

在通过鼠标点击 QTextBrowser 中的链接地址时,如果是希望使用外部浏览器打开链接地址,只需要添加一行代码 ui->textBrowser->setOpenExternalLinks(true); 但如果是想知道用户点击的具体链接地址,则需要设置 ui->textBrowser->setOpenExternalLinks(false);,另外再关联anchorClicked信号,示例代码如下:

#include "widget.h"
#include "ui_widget.h"
#include <QDesktopServices>
#ifdef Q_OS_WIN
#include <windows.h>
#endif

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //此属性指定QTextBrowser是否应自动打开用户试图通过鼠标或键盘激活的链接,无论该属性的值如何,始终会发出anchorclick信号
    //ui->textBrowser->setOpenLinks(false);//default value: true

    //指定QTextBrowser是否应使用QDesktopServices::openUrl()自动打开指向外部源的链接,而不是发出anchorClickd信号
    ui->textBrowser->setOpenExternalLinks(false);//default value: fasle
    //
    //ui->textBrowser->setFocusPolicy(Qt::NoFocus);
    ui->textBrowser->setAlignment(Qt::AlignCenter);
    //ui->textBrowser->setFrameShape(QTextEdit::NoFrame);
    ui->textBrowser->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    ui->textBrowser->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    //ui->textBrowser->document()->setDefaultTextOption(QTextOption(Qt::AlignCenter));

    connect(ui->textBrowser, SIGNAL(anchorClicked(const QUrl&)),this, SLOT(anchorClickedSlot(const QUrl&)));

    ui->textBrowser->append("baidu.com");
    ui->textBrowser->append(QString::fromLocal8Bit("<a href = \"http://www.baidu.com/\">baidu website</a>"));
    ui->textBrowser->append("weixin.com");
    ui->textBrowser->append(QString::fromLocal8Bit("<a href = \"https://weixin.qq.com/\">weixin website</a>"));
}

Widget::~Widget()
{
    delete ui;
}

void Widget::anchorClickedSlot(const QUrl& url)
{
    //QDesktopServices::openUrl(url);
#ifdef Q_OS_WIN
    ShellExecuteA(NULL, "open", url.toString().toStdString().c_str(), "", "", SW_SHOW);
#endif
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT 如何知道用户点击 QTextBrowser 中的具体链接地址 的相关文章

  • Cmake知识----编写CMakeLists.txt文件编译C/C++程序

    简述 xff1a CMake是一个跨平台的安装 编译 工具 可以用简单的语句来描述所有平台的安装 编译过程 他能够输出各种各样的makefile或者project文件 能测试编译器所支持的C 43 43 特性 类似UNIX下的automak
  • 知识点总结:Java核心技术(卷1)

    Java核心技术 xff08 卷1 xff09 一 基础概念 1 1 基本程序设计结构 1 1 数据类型 1 1 1 数值类型 1 从java7开始 xff0c 加上前缀0b或0B就可以写二进制 xff1b 2 指数的表示 十进制中以10为
  • 单片机-控制-直流电机-基于L9110S-、L298N、TB6612FNG驱动

    直流电机 xff08 direct current machine xff09 能将直流电能转换成机械能 xff08 直流电动机 xff09 或将机械能转换成直流电能 xff08 直流发电机 xff09 的旋转电机 它是能实现直流电能和机械
  • 【一文弄懂】张正友标定法-完整学习笔记-从原理到实战

    张正友标定法 完整学习笔记 从原理到实战 文章目录 张正友标定法 完整学习笔记 从原理到实战 xff08 零 xff09 前言 xff1a 1 为什么需要标定 xff1f 2 相机标定的已知条件和待求解是什么 xff1f 标定前的已知条件
  • realsense ——SR300 相机使用小记

    环境搭建相关的参考资料挺多的 xff0c 这里就不多说了 这里记一些相关的api 算了 xff0c 还是给出自己的配置记录吧https blog csdn net hehehetanchaow article details 1057958
  • kubeadm安装部署Kubernetes(k8s)与部署 Dashboard web_UI(附Kubernetes安装脚本)

    前言 Kubernetes作为容器编排工具 xff0c 简化容器管理 xff0c 提升工作效率而颇受青睐 很多新手部署Kubernetes由于 科学上网 问题举步维艰 xff0c 本文以实战经验详解kubeadm不用 科学上网 部署Kube
  • 开源飞控资料

    四轴开源资料 http merafour blog 163 com blog m 61 0 amp t 61 1 amp c 61 fks 08406908208008307008408308409508608708806608408408
  • 深度学习视频数据集(动作识别):UCF-101

    UCF 101 官网 xff1a https www crcv ucf edu research data sets ucf101 网盘 xff1a 链接 xff1a https pan baidu com s 1RsJuykWyUlQ4
  • 视频分析模型(行为识别):C3D

    C3D 文章目录 C3D1 简介1 1 背景1 2 C3D特点1 3 视频描述符1 4 C3D的结果 2 架构2 1 工作流程2 2 网络结构2 3 3D卷积和池化2 4 kernel 的时间深度 3 可视化3 1 特征图3 2 特征嵌入
  • OpenCV下车牌定位算法实现代码 (二)

    前面介绍了用OpenCV的squares实例定位车牌的算法 xff0c 效果不是很理想 车牌定位的方法有很多种 xff0c 这里我们从汽车图像的纹理特征入手 xff0c 找出车牌不同于背景的特征是车牌定位的关键 观察多幅汽车图片我们会发现车
  • 旷视张祥雨:神经网络架构设计新思路

    点击上方 CVer xff0c 选择加 34 星标 34 置顶 重磅干货 xff0c 第一时间送达 本文转载自 xff1a AI科技评论 作者 蒋宝尚 编辑 青暮 深度学习模型在很多任务上都取得了不错的效果 xff0c 但调参却是一项非常痛
  • 发现三本不错的讲解数据存储的书

    研究数据存储 xff0c 没有很多现成的东西 xff0c 但是可以参考数据库系统的存储实现的内容 xff0c 发现三本书 xff0c 觉得值得一读 数据库系统全书 http www china pub com computers commo
  • Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, 4

    处理Failed to get convolution algorithm This is probably because cuDNN failed to initialize so try looking to see if a war
  • 字符型设备驱动程序--gpio 驱动实例

    概述 xff1a 字符设备驱动程序 xff1a 是按照字符设备要求完成的由操作系统调用的代码 重点理解以下内容 1 驱动是写给操作系统的代码 xff0c 它不是直接给用户层程序调用的 xff0c 而是给系统调用的 2 所以驱动要向系统注册
  • 协议栈

    协议栈 协议栈是指网络中各层协议的总和 xff0c 其形象的反映了一个网络中数据传输的过程 xff1a 由上层协议到底层协议 xff0c 再由底层协议到上层协议 使用最广泛的是英特网协议栈 xff0c 由上到下的协议分别是 xff1a 应用
  • 再见2011,你好,2012。

    不会写文章 xff0c 这个算是对自己的一个总结吧 xff0c 毕业一年半了 xff0c 从事嵌入式也有一年半了 xff0c 总觉得自己连入门都谈不上 xff0c 整天都看上去很忙 xff0c 有时候确实有一大堆的事情要做 xff0c 但是
  • matlab读取realsense bag文件数据

    代码参考 xff1a https dev intelrealsense com docs matlab wrapper 本示例的功能 xff1a matlab代码 xff1a 给出bag文件路径 xff0c 显示realsense相机型号
  • vncserver:command not found

    Question Solution 1 使用root用户登录 xff0c 运行 yum install tigervnc server 2 使用其他用户 eg opuser 登录 xff0c 启动vncserver xff0c 设置pass
  • CKF MCSCKF UKF EKF滤波性能对比

    CKF MCSCKF UKF EKF滤波性能对比 在非线性滤波中 比较了CKF MCSCKF UKF EKF 几种非线性滤波的性能 用MATLAB进行仿真 八维非线性滤波中 CKF MCSCKF 比较稳定 EKF UKF 表现不好 MATL
  • 自制串口调试助手

    span class token keyword using span span class token namespace System span span class token punctuation span span class

随机推荐

  • 文件描述符和套接字

    文件描述符 xff1a 文件描述符在形式上是一个非负整数 实际上 xff0c 它是一个索引值 xff0c 指向内核为每一个进程所维护的该进程打开文件的记录表 当程序打开一个现有文件或者创建一个新文件时 xff0c 内核向进程返回一个文件描述
  • Papers with Code 2020 全年回顾(顶流论文+顶流代码+Benchmarks)

    点击上方 CVer xff0c 选择加 34 星标 34 置顶 重磅干货 xff0c 第一时间送达 本文转载自 xff1a AI公园 作者 xff1a Ross Taylor 编译 xff1a ronghuaiyang 导读 2020年Pa
  • Nginx 多进程模型是如何实现高并发的?

    进程数与并发数不存在很直接的关系 这取决取server采用的工作方式 如果一个server采用一个进程负责一个request的方式 xff0c 那么进程数就是并发数 那么显而易见的 xff0c 就是会有很多进程在等待中 等什么 xff1f
  • 剑指offer 矩阵中的路径

    题目描述 请设计一个函数 xff0c 用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径 路径可以从矩阵中的任意一个格子开始 xff0c 每一步可以在矩阵中向左 xff0c 向右 xff0c 向上 xff0c 向下移动一个格子 如果
  • QGC二次开发---自定义MAVLink消息

    MAVLink库下载 下载网站https github com mavlink mavlink 可以通过git工具 xff0c 在存放文件夹下打开git工具 xff0c 输入命令 xff1a git clone https github c
  • 视差图(Disparity)三维重投影得到特征点的三维空间坐标的2种方法

    文章目录 前提方法1 perspectiveTransform 方法2 reprojectimageto3d PS参考 前提 1 使用BM或者SGBM算法计算得到了双目图像的合适左右视差图 xff1b 2 使用立体校正函数stereoRec
  • ubuntu查看内存使用情况

    ubuntu下单独查看内存使用情况 free m free默认输出的单位是kb xff0c m表示以M为单位 查看CPU内存使用情况 top 查看GPU内存使用情况 nvidia smi
  • QT 如何调节Windows系统音量大小

    在平时日常工作中 xff0c 我们切换输入法的方式一般会通过键盘组合按键来进行切换的 xff0c 那么作为程序员 xff0c 当然可以通过发送键盘消息事件来实现输入法的切换 同样的道理 xff0c 我们也可以通过发送键盘事件实现麦克风音量或
  • QT 九宫格绘图(QSS方式)

    什么是九宫格方式绘图 xff1f 顾名思义 xff0c 就是把一个方块分割成 9 个部分 xff0c 如图所示 xff1a 九宫格绘图的原理就是把背景图分割成 9 个部分 xff0c 绘制时 xff1a 四个角 xff08 1 3 7 9
  • QT QTimeLine 用法小结

    QTimeLine简述 它最常用于通过周期性调用槽来动画化GUI控件 您可以通过将时间线的持续时间 xff08 以毫秒为单位 xff09 传递给QTimeLine的构造函数来构造时间线 时间线的持续时间描述动画将运行多长时间 然后通过调用s
  • QT 秒/毫秒 转 时分秒

    在日常开发时 xff0c 经常会遇到计算剩余进度或者剩余时间的问题 xff0c 比如计算剩余下载时间等等 本篇文章旨在提供几个常用的转换方式供各位参考 1 秒转时分秒 xff08 方法壹 xff09 QString span class t
  • QT 如何实现 半透明的 圆角 矩形 窗口

    在日常使用的软件里面 xff0c 有些软件提示用户时 xff0c 经常会发现有些提示窗口是半透明的 那么如何实现一个可拖动的 半透明 圆角矩形窗口呢 xff1f 整体思路 xff1a 将窗口本身设置为透明 xff0c 然后通过qss或者绘图
  • 小哥质疑谷歌顶会CV论文有错!并且拿出了复现代码来证明

    点击上方 CVer xff0c 选择加 34 星标 34 置顶 重磅干货 xff0c 第一时间送达 萧箫 发自 凹非寺 来源 xff1a 量子位 xff08 QbitAI xff09 景色很好看 xff0c 可是手机相机分辨率太低 xff0
  • QT 如何只允许打开一个 chm 文档

    chm文档 xff0c 大家都不会陌生 xff0c 很多软件的帮助文档就是chm格式的 我们自己在开发程序的时候 xff0c 也需要对外提供帮助文档 xff0c 为了方便用户 xff0c 经常在软件中就可以打开帮助文档 xff0c 那么如何
  • QT 如何把外部程序嵌入到QT界面

    一个奇怪但又合乎现实需要的需求 xff0c 就是把外部程序嵌入到本窗口内 xff0c 实现外部程序在本窗口的显示 可能外部程序是由其他人开发的 xff0c 但是想 拿来 作为内部使用 xff0c 于是乎想把外部程序嵌入到本程序窗口内 xff
  • QT 如何去除QListView选中item后的虚线框

    在使用QListView或者QListWidget时 xff0c 如果选中其item xff0c 会发现边框会出现虚线框 xff0c 这并不美观 xff01 所以 xff0c 我们需要去掉选中后的虚线框 在查阅各路大神的实现方式后 xff0
  • QT QCompleter 用法小结

    1 有何用处 QCompleter类提供基于项模型的补全功能 您可以使用QCompleter在任何Qt小部件 xff08 如QLineEdit和QComboBox xff09 中提供自动补全 当用户开始键入单词时 xff0c QComple
  • QT 关于全屏 与 退出全屏

    在某些场景 xff08 比如说 xff1a 车机系统 医疗仪器等 xff09 可能需要确保软件的全屏显示 xff0c 本次探讨的是如何实现全屏与退出全屏 实现全屏的几种方式 span class token operator lt span
  • QT 如何设置 QCompleter 样式

    在使用QCompleter xff0c 一般都会面临两个问题 xff1a 1 如何设置Completer的行高 xff1b 2 如何设置Completer的样式 本文将一次为你解答 xff0c 顺便讲讲ComboBox设置Completer
  • QT 如何知道用户点击 QTextBrowser 中的具体链接地址

    在通过鼠标点击 QTextBrowser 中的链接地址时 xff0c 如果是希望使用外部浏览器打开链接地址 xff0c 只需要添加一行代码 ui gt textBrowser gt setOpenExternalLinks true 但如果