framelesshelper框架学习

简介: 文章介绍了一个名为framelesshelper的框架,它可以创建跨平台的无边框窗口,并解决了窗口大小异常的问题。文中还提供了cmakelist.txt的适配方法和相关代码学习资源。

一套框架,可以生成多平台的无边框窗体,拖动到屏幕底边,没有窗体大小异常问题。

1 运行成功

2 cmakelist.txt适配qt6.5+cmake3.19修改

如下:

3 代码学习

// This file is autogenerated by CMake. Do not edit.

#include <QtQml/qqmlextensionplugin.h>

extern void qml_register_types_org_wangwenx190_FramelessHelper();
Q_GHS_KEEP_REFERENCE(qml_register_types_org_wangwenx190_FramelessHelper)

class org_wangwenx190_FramelessHelperPlugin : public QQmlEngineExtensionPlugin
{
   
    Q_OBJECT
    Q_PLUGIN_METADATA(IID QQmlEngineExtensionInterface_iid)

public:
    org_wangwenx190_FramelessHelperPlugin(QObject *parent = nullptr) : QQmlEngineExtensionPlugin(parent)
    {
   
        volatile auto registration = &qml_register_types_org_wangwenx190_FramelessHelper;
        Q_UNUSED(registration);
    }
};



#include "FramelessHelperQuickplugin_org_wangwenx190_FramelessHelperPlugin.moc"
Q_LOGGING_CATEGORY(lcQuickModule, "wangwenx190.framelesshelper.quick.quickmodule")

#ifdef FRAMELESSHELPER_QUICK_NO_DEBUG_OUTPUT
#  define INFO QT_NO_QDEBUG_MACRO()
#  define DEBUG QT_NO_QDEBUG_MACRO()
#  define WARNING QT_NO_QDEBUG_MACRO()
#  define CRITICAL QT_NO_QDEBUG_MACRO()
#else
#  define INFO qCInfo(lcQuickModule)
#  define DEBUG qCDebug(lcQuickModule)
#  define WARNING qCWarning(lcQuickModule)
#  define CRITICAL qCCritical(lcQuickModule)
#endif

4 参考链接

pengguanjun/framelesshelper: Cross-platform window customization framework for Qt Widgets and Qt Quick. Supports Windows, Linux and macOS. (github.com)

QVogenClient: Third-party Vogen Editor. (gitee.com)

SineStriker/qsynthesis-revenge: Cross-platform SVS frontend (github.com)

相关文章
|
移动开发
Qt自定义控件之仪表盘的完整实现
Qt自定义控件之仪表盘的完整实现
|
计算机视觉 Windows
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
|
Java API Android开发
DDS、FastDDS、OpenDDS扫盲
DDS、FastDDS、OpenDDS扫盲
3097 0
用AItium Designer 14 绘制电路图
要使用Altium Designer 14绘制电路图,可以按照以下步骤进行操作: 1. 打开Altium Designer 14软件。 2. 创建一个新的工程:点击“File”(文件)菜单,选择“New”(新建),然后选择“Project”(工程)。在弹出的对话框中,选择一个合适的工程文件夹,并设置工程名称。 3. 在工程中创建一个新的电路图:在左侧的“Projects”(项目)窗格中,展开工程文件夹,右键点击“Schematic”(电路图)文件夹,选择“Add New to Project”(添加新文件到工程)。在弹出的对话框中,选择“Schematic”(电路图),然后设置电路图名称
461 0
|
安全 JavaScript 前端开发
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术(三)
QML信号与信号槽实践指南:轻松掌握现代软件开发的关键技术
445 0
|
搜索推荐
Gitlab----设置页面语言为简体中文
Gitlab----设置页面语言为简体中文
4992 0
Gitlab----设置页面语言为简体中文
|
编解码 UED
Qt侧边栏的动态切换:隐藏与显示技术详解
在现代用户界面设计中,侧边栏(Sidebar)是一个常见的组件,它为用户提供了导航和工具面板的功能。在某些应用场景下,我们可能需要动态地隐藏或显示侧边栏,以优化界面布局或提供更灵活的用户体验。本文将分享如何在Qt框架下实现侧边栏的隐藏与呈现,包括技术细节和代码示例。
1132 3
|
9月前
|
JSON JavaScript 数据格式
jqtimeline.js-简单又好用的jquery时间轴插件
jqtimeline.js-简单又好用的jquery时间轴插件
|
10月前
|
图形学
unity中Rigidbody添加力的几种方式
本篇就是添加力的几种方式,记录一下
|
存储 搜索推荐 Linux
2024年 15 个最佳免费开源 Linux 文件管理器
【4月更文挑战第25天】
11306 53
2024年 15 个最佳免费开源 Linux 文件管理器