Qt中实现点击一个label,跳转到打开一个浏览器链接

配置模块

首先需要在.pro配置文件中添加QT += network

重写自定义Label

.h文件

class MyClickLabel : public QLabel
{

    Q_OBJECT
public:
    explicit MyClickLabel(QWidget *parent = 0); // 构造函数声明
protected:
    virtual void mouseReleaseEvent(QMouseEvent * ev);  // 声明鼠标左键点击事件
signals:
    void clicked(void); // 声明鼠标左击中信号

};

.cpp文件

MyClickLabel::MyClickLabel(QWidget *parent):QLabel(parent) { }

// 重写鼠标释放时间 mouseReleaseEvent()
void MyClickLabel::mouseReleaseEvent(QMouseEvent *ev)
{
    Q_UNUSED(ev)
    if(ev->button() == Qt::LeftButton)
    {
        emit clicked(); // 发射信号
    }
}

提升窗口部件

在你需要用到这种label得ui文件里,点击label右键提升为自定义的控件

连接信号和槽函数

之后只需要使用connect函数,连接信号和槽

connect(ui->registAccount,SIGNAL(clicked()),this,SLOT(onRegisterAccountClicked()));

槽函数处理

void LoginWindow::onRegisterAccountClicked()
{
    QDesktopServices::openUrl(QUrl(QString("https://www.baidu.com")));
}

原文地址:https://www.cnblogs.com/WindSun/p/12311995.html

时间: 2024-10-11 22:49:29

Qt中实现点击一个label,跳转到打开一个浏览器链接的相关文章

在uiview里面的tableView中,点击cell进入跳转到另一个界面的方法

1.先重写uiviewcontrol的方法 - (UIViewController *)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder *nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { return

struts2 从一个action跳转到另一个action的struts.xml文件的配置

解释: 想要用<result>跳转到另一个action,原来的配置代码是: <action name="insertDept" class="struts.org.db.DeptAction" method="insertDept"> <result name="success" type="redirect-action">selectDept</result&g

从一个页面跳转到另一个页面传值问题

之前要解决这个问题,我借助struts2在后台转换了一下,但是这样未免有点麻烦,最近在重整项目,发现可以直接跳页面的时候把值传过去,示例如下: 在showTask.html页面中,点击其中一条数据的申请延期,需要把任务id传到applydepay.html页面,可以写成如下形式: /** * 申请延期 */ function showApplyDepay(data){ //打开申请延期页面 location.href="/pmsystem/pages/task/applyDepay.html#&

基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码

比如 想跳到 mao.aspx 的页面 的div id="s" 的位置 那么 只用<a href="mao.aspx#s"> 就可实现跳转到指定位置 现在为了增加用户体验 跳转到页面后 平滑移动到该位置 怎么做呢 其实也很简单啦 那边传递过来一个 要跳转到哪个div的参数就行 先上一段 页面获取参数的 通用js 复制代码代码如下: //根据参数名获得该参数 pname等于想要的参数名 function getParam(pname) { var para

jeecg3.5中实现从一个页面跳转到另一个页面

实现以下效果 点"跳转到demo"后直接跳转到demo示例,并且带上查询条件,如下: 由于jeecg使用的是easyui,所以不能直接用类似于<a href="xxxx.do?xxx">这样的方式来跳转了,但还是有办法做到的,首先在\plug-in\accordion\js\left_shortcut_menu.js中增加以下代码: function goToTab(subtitle, url, icon) { // begin author:屈然博 2

iOS 在TabViewController中的一个ViewController跳转到另一个ViewController

步骤一: #import "AppDelegate.h" 步骤二: 在需要跳转的地方: AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; UITabBarController *tabViewController = (UITabBarController *) appDelegate.window.rootViewController; [tabViewCon

关于angularjs框架中input按回车事件光标跳转到另一个input上

我们项目里用到angularjs 对应的包,没有ng-keypress\ng-keydown. 所以,我们自己写一些指令. 首先在,项目模块对应的module.js中写指令 define([ 'angular', 'angular-couch-potato', 'angular-ui-router', 'angular-resource' ], function (ng, couchPotato) { 'use strict'; var module = ng.module('app.handO

从一个App跳转到另一个App

在跳入App的info中配置Bundle identifier 在跳入App的info中配置URL Schemes 在另一个应用程序中按照上边的操作添加openURL并运行,就可以跳转了 调用openURL的方法 1 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"ceshi1://"]]) { 2 [[UIApplication sharedApplication] openURL:[N

从一个程序跳转到另一个应用程序

NSString *url = @"MyUrl://";    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; 在另一个应用程序中按照上边的操作添加MyUrl并运行,就可以跳转了