Qt QCommandLinkButton学习

2023-10-31

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QCommandLinkButton>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    QWidget *w;
    QCommandLinkButton *cmmBtn;

private slots:
    void clickFunc();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QVBoxLayout>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    w(nullptr),
    ui(new Ui::Widget)
{
    cmmBtn = new QCommandLinkButton("Version", "Version project", this);
    cmmBtn->setFlat(true);
    connect(cmmBtn, SIGNAL(clicked()), this, SLOT(clickFunc()));
    ui->setupUi(this);
}

void Widget::clickFunc()
{
    if(w)
    {
        w->close();
        delete w;
    }
    w = new QWidget();
    w->setWindowFlags(Qt::CustomizeWindowHint|Qt::WindowType_Mask);
    QLabel *label = new QLabel("QCommandLinkButton Click.", w);
    QVBoxLayout *layout = new QVBoxLayout();
    w->setGeometry(this->pos().x()+this->width()/2-100,
                   this->pos().y()+this->height()/2-50,
                   200,
                   100);
    layout->addWidget(label, 0, Qt::AlignCenter);

    w->setLayout(layout);
    w->show();
}

Widget::~Widget()
{
    if(w)
    {
        w->close();
        delete w;
    }
    delete ui;
}

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

运行结果:

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

Qt QCommandLinkButton学习 的相关文章

  • Qt 人工鼠标点击无法正常工作

    小玩具应用程序可以在这里找到 http gist github com 517445 http gist github com 517445 我正在尝试将人工鼠标事件发送到小部件 我使用QApplication sendEvent为此 接下
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • 如何让小部件在上下文菜单出现时接收鼠标释放事件

    在Ubuntu20 04上 当上下文菜单出现时 我无法让小部件接收鼠标释放事件 而Windows可以接收 我的pyqt版本是5 15 2 我考虑过手动发送鼠标释放事件 但我不知道当上下文菜单出现时哪些系统会收到鼠标释放事件 这样做可能会导致
  • 获取 QListView 中所有可见项目的简单方法

    我正在尝试使用 Qt Framework 开发一个图像库应用程序 应用程序从所选文件夹加载所有图像 并使用 QListView 控件显示这些图像 但现在我想通过仅加载用户可见的图像来减少内存消耗 由于没有直接函数来获取视图中的所有可见项目
  • Retina 显示屏中具有 QOpenGLWIdget 的 Qt MainWindow 显示错误大小

    我有一个 Qt 应用程序MainWindow 我嵌入一个QOpenGLWidget在里面 一切正常 直到我开始使用 Apple Retina 显示屏并在高 DPI 模式下运行我的应用程序 我的QOpenGLWidget只是它应该具有的大小的
  • QTableView 并双击一个单元格

    我正在开发测试用例编辑器 该编辑器包含 USART 传输和接收数据包格式 编辑器是一个表格视图 发送和接收数据包的长度为八个字节 例如 0x01 0x02 0x03 0x08 它在我的第五和第六栏中 现在 我希望此列中的单元格为只读 但是当
  • Mac OS X 上的 Qt 字体系列和样式

    我有一个基于 Qt PyQt 的 GUI 应用程序 在 Mac OS X 和其他平台 上运行 它允许用户选择字体并具有粗体和斜体选项的复选框 在更新到新的基于 Cocoa 的 Qt 时 用户发现QFontComboBox不再显示不同的字体样
  • Qt:不完整类型和前向声明的使用无效

    我有一些误解 A h ifndef A H define A H include B h class A public B Q OBJECT public A endif A cpp include A h A A B ui gt blan
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • 是否可以根据 QSlider 的位置来改变其手柄的颜色?

    我非常清楚如何通过样式表自定义 QSlider 但我想知道是否可以执行以下操作 我希望滑块的手柄从蓝色变为黄色 当设置在左侧时 它是蓝色的 设置在左侧时 它是蓝色的 当你将它向右移动时 它会出现从蓝色到黄色的渐变 如果可以通过样式表 如何实
  • 使用 QWT 构建时出错

    我收到一个错误 undefined reference to QwtPlot QwtPlot QWidget 当我尝试构建我的项目时 即使设置中一切看起来都很好 在我的 CmakeLists txt 中我有 include director
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 相对文件路径的区别:Qt Creator的调试模式和发布模式

    QFile file test txt if file open QIODevice ReadOnly qDebug lt lt You got me 我在用 Qt 4 8 6 与 MSVC 2010 Qt 创建者 3 1 1 Window
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做

随机推荐

  • 了解并使用Xposed 框架神器

    什么是Xposed框架 Xposed 框架是个神器 帮助文档 关于Xposed框架的安装以及使用 https sspai com post 24538 Xposed下载地址以及模块库 https repo xposed info modul
  • 使用Qt Creator开发动态链接库,并在程序中调用(动态链接库)

    在 QT 中 一般将驱动 动态库 dll文件一概而论 一路下一步 至工程建立 dynamiclibrary h ifndef DYNAMICLIBRARY H define DYNAMICLIBRARY H include dynamicl
  • 以日期作为ts切片文件名问题的解决过程

    一 需求 EasyDarwin使用FFmpeg来保存流媒体 以多个ts分片形式存在 但由于EasyDarwin调用FFmpeg命令时 没有对生成名字做处理 所以默认生成的ts文件名都是out0 ts out1 ts 这种名称意义不大 需要以
  • 【华为OD机试真题 Java】最长连续子序列

    前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email nansun09
  • 22款常用微信小程序UI框架推荐!

    22个好看 常用的微信小程序UI组件库推荐 1 WeUI 地址 https developers weixin qq com miniprogram dev extended weui 预览码 2 ColorUI 地址 https gith
  • flutter 数据持久化之sqflite

    sqflite 是一款轻量级的关系型数据库 类似SQLite 支持iOS和Android 适用于存储数据库 表类型的数据 使用 添加依赖 dependencies flutter sdk flutter sqflite插件 sqflite
  • html怎么在网页标题栏上添加图标

    需求 像下图这样给网页标题栏加个图标 方法 需要先把图片格式转换为 ico类型 在这个网址在线转换很方便 https www easyicon net covert 在加一行来显示图标 注意 如果加入了没有效果 检查一下路径是否正确 文件名
  • Linux安装rsync命令失败,rsync 常见错误与解决方法整理

    我们都是通过错误日志查看 在rsyncd log里面或 err文件里面 大家可以用记事本打开查看 注意windows下面我们需要给SvcwRsync用户 管理同步目录的所有权限 基本上这样就可以了 问题一 ERROR chroot fail
  • MySQL基本原理以及框架图

    数据库的定义 数据库简单来说是本身可视为电子化的文件柜 存储电子文件的所处 用户可以对文件 的数据运行新增 截取 更新 删除等操作 数据库指的是以一定的方式存储在一起 能为多个用户共享 具有尽可能小的冗余度 与应用程序彼此独立的数据集合 数
  • 反转链表:双指针法

    给你单链表的头节点 head 请你反转链表 并返回反转后的链表 指针 快慢指针 pre指向前一个节点 cur指向当前节点 temp用于保存当前节点的下一个节点 Definition for singly linked list public
  • Echarts柱状图设置柱间距不生效

    由于要做进度条样式的柱状图 如图所示 所以想做点柱子之间的间距 于是设置barGap代码配置如下 这里是错误示范 series name type bar data this downLoadChartsData seriesData ba
  • win10VirtualBox没有64位选项

    Windows10中Virtualbox没办法选择和安装64位的Linux系统 2017 03 08 十有三 0 浏览 5080 操作系统与应用 Windows系统 Linux 明明在公司的WIN7系统中使用Virtualbox就可以安装6
  • 一文详解shell 脚本语言的基本结构,万字长文,建议收藏

    2 1 shell脚本的用途 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 2 2 shell脚本基本结构 shell脚本编程 是基于过程式 解释执行的语言 编程语言的基本结构 各种系统命令的组合 数据存储 变
  • 单片机C语言之指针变量

    单片机C语言变量分别有char型 int型 long型 float型等 它们分别占用内存为1个单元 2单元 4单元 4单元等 另外数组和字符串则占用了内存某段连续的单元 这些变量的共同特征是它们都装的数值 那如果一个变量里面装的不是数值 而
  • 操作系统及驱动、进程、服务等解析

    操作系统是神马呢 顾名思义就是操作管理及控制计算机硬件与软件资源的计算机程序 同时也是计算机硬件和软件的接口 操作系统充当着用户和硬件设备之间桥梁的作用 用户可以通过操作系统让硬件设备工作实现自己想要的要求 但大部分是通过应用程序让操作系统
  • Java调用.exe文件

    package cn sos psasps public class TestExe public static void main String args Runtime runtime Runtime getRuntime test01
  • linux权限---【600,644,700,755,711,666,777】

    权限简介 Linux系统上对文件的权限有着严格的控制 用于如果相对某个文件执行某种操作 必须具有对应的权限方可执行成功 Linux下文件的权限类型一般包括读 写 执行 对应字母为 r w x Linux下权限的粒度有 拥有者 群组 其它组
  • 小故事理解TCP/IP连接时的三次握手

    在TCP IP协议中 TCP协议通过三次握手建立一个可靠的连接 示意图如下 下面通过一个小故事简单理解一下这三次握手的具体含义 一天 快递员小客 客户端 准备去小服 服务器 家去送快递 准备与服务器进行连接 当走到小服家门口发现 小服家大门
  • (附源码)springboot大学生防疫封校管理系统 毕业设计632124

    大学生防疫封校管理系统 摘 要 2019年12月19号中国武汉发生第一例新冠病毒的到来 大家都在听从政府的号召在居家隔离 不管是在城市还是在乡镇 农村 这引起我的注目 设计一套大学生防疫封校管理系统 疫情防控需要大家共同努力 团结对校园学生
  • Qt QCommandLinkButton学习

    widget h ifndef WIDGET H define WIDGET H include