- 博客(38)
- 资源 (6)
- 收藏
- 关注
原创 如何在opensuse build service (obs)打包deb包用于分发各个发行版
注册账号创建home project创建项目需要配置需要打包的镜像如debian12 ubuntu等先配置整体home仓库的全部由于是home的,可能不同的项目有些不需要,可以在项目中禁用一些,再配置某个项目需要哪些。
2023-09-07 14:19:07 278
原创 open build service打包deb,并浅谈一点
浅谈如何认识open build service的,最近在研究软件打包分发和发布的相关知识,发现了很多hub,类如flatpak、aur、snap相关的hub,又了解了很多打包的规则文件,PKGBUILD、debian的Control加rule、rpm的.spec文件等。有个地方就是我因为不了解,所以发现了fedora和open suse有很多包的依赖可以说大不相同,各走各的阳关道那种,比如一个库叫libXXX,另外一个就是XXX之类的,所以一般不太兼容,只有另外建立仓库写对应的规则。
2023-08-16 13:44:26 253
原创 如何打包arch软件并且打包到arch仓库中(超详细教程)
如何打包arch软件并且打包到arch仓库中(超详细教程),我习惯复制例子的PKGBUILD文件进行修改,每个qt项目大差不差,而且很简单PKGBUILD 是一个 shell 脚本.pkgname,pkgver,pkgrel 和 arch 是必须定义的变量。license在构建包时并不强制要求(会警报)下面就介绍PKGBuild每个参数的作用,有些是个人理解,有些是直接来自官网的解释生成规则到指定目录,qmake一下,make输出到build目录。
2023-07-06 18:45:37 445
原创 Qt+mpv制作windows/linux 下的动态壁纸软件(含源码)
mpv之前是mediaplayer,windwos之前好像都有预装这个,都来经过发展,现在是一个对跨平台开发很友好的播放器工具。程序需要msvc编译,不能用mingw编译,怀疑是mingw用不了部分win32的部分api。demo编译就会发现,可以播放视频了,那么就以这个demo作为我们的播放模块的代码。可以使用里面的qt文件夹里面的demo或者qt_opengl里面的demo。1.动态壁纸需要一个播放视频的软件,那么可以借鉴mpv的官方demo。制作桌面应用程序的开发语言及工具,基于C++,跨平台。
2022-10-08 18:22:38 1555 3
原创 qml Image绘制圆角(图片绘制圆角)
在网上寻求了很多方法,大部分使用到了 OpacityMask,但是由于我的图像使用了自适应尺寸fillMode: Image.PreserveAspectFit,所以其实达不到我想要的效果,所以出了如下攻略,期待你的点赞!qml Image绘制圆角(图片绘制圆角)...
2022-06-02 17:28:52 3382
原创 浅谈Qt信号槽的第五个参数
浅谈Qt信号槽的第五个参数纯个人理解,有错误的地方请指正,有问必答QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)Qt::AutoConnection默认参数为Qt::AutoConnection :策略为线程中使用Qt::DirectConnect
2022-05-27 16:31:32 2448
原创 几行代码实现c++/qt程序进程单例(文件锁)
qt程序进程单例(文件锁的方法)原理通过锁定文件,直至程序退出解锁,那么当程序第二次打开的时候检测到文件是锁定的,则退出使用qt文件锁的方法请在main函数里面使用,不要单独封装函数,保证锁没有退出,因为函数退出,锁也会跟着退出#include <QLockFile>#include <QApplication>//文件名称(随便写)#define INSTANCE_LOCK "singleApplication"int main(int argc, char *
2022-05-10 13:51:14 3738
原创 x11学习二:linux获取窗口状态是否是全屏或者最大化
必要的一些库xcb-ewmh x11 xext xrender需要先初始化//我是在qt下进行的,connction是qt自带的接口,其他的也可以获取xcb_ewmh_connection_t m_ewmh_connection;void settingWindow::initAtom(){ xcb_intern_atom_cookie_t *cookie = xcb_ewmh_init_atoms(QX11Info::connection(), &m_ewmh_connect
2022-03-04 16:49:56 3048
原创 x11学习一:linux下x11通过wid获取窗口类型(桌面窗口、普通窗口、dock窗口等)
需要的库xcb-ewmh x11 xext xrender可能上述只需要一部分第一步(初始化atom)//初始化atom //QX11Info::connection()是 xcb_connection_t *,在qt里面直接使用这个,其他的地方也可以有替代和创建 //该步骤为了初始化m_ewmh_connection;一次初始化,重复使用。void initAtom(){ xcb_intern_atom_cookie_t *cookie = xcb_ewmh_init_
2022-03-04 16:10:50 5012
原创 linux下使用动态壁纸(fantascene)
适用于linux的动态壁纸,ubuntu动态壁纸,kde动态壁纸,xfce动态壁纸deepin动态壁纸,uos动态壁纸,cutefish动态壁纸,linux动态壁纸支持网页壁纸和视频壁纸
2022-02-24 11:38:31 7957 15
原创 linux下动态壁纸(ubuntu20.04测试)
linux下实现动态壁纸(ubuntu20.04测试)github地址:https://github.com/dependon/fantascene-dynamic-wallpaperbilibili视频效果https://www.bilibili.com/video/BV1CR4y1g7sT/deb包下载https://depend.lanzouj.com/iQYvFyqjape密码:23x2支持支持视频壁纸和网页壁纸原理使用了x11的接口,将壁纸悬浮在桌面上方,通过控制自身的透明度
2022-01-14 11:17:46 3257
原创 qt获得当前窗口所在屏幕的大小
假如这个窗口的指针为this记得要加头文件哦#include <QDesktopWidget>#include <QApplication>//获得当前屏幕是第几屏幕int number = QApplication::desktop()->screenNumber(this);//根据number获得当前窗口所在屏幕的大小QSize size = QGuiApplication::screens().at(number)->geometry().siz
2021-10-19 15:51:05 5659 3
原创 使用qt+网上的api做股票查看器
股票球,采用的是qt和新浪的api来设计,目前只有查看功能,2021年1月17日开始开发,后续可能会持续更新(可能跟心情有关)k线图在 Windows下获取数据有问题,还没来得及做,目前在Linux下没有问题,并打了一个deb包qt5.11.3制作的,可以玩一下,Windows下的版本会在以后加吧(2021/4/1)项目代码地址https://github.com/dependon/Stock-Ball/编译只需要qt的原生环境即可,目前开发环境是5.11.3,系统是Uniontech OS国产操
2021-08-09 14:55:09 2618
原创 在deepin环境下安装qt开发环境和dtk开发环境
环境deepinV20.2.2第一步进入系统,进入/etc/apt目录以管理员身份打开(为了编辑源)第二步编辑源sources.list放出第二行源保存并退出第三步进入终端,执行sudo apt update安装qtcreator和qt5-default可以找一个dtk应用,安装其依赖即可,这里使用看图的sudo apt build-dep deepin-image-viewer安装完成!!!,进入qtcreator创建和编译项目即可...
2021-07-30 16:28:06 2471
原创 QPlainTextEdit获取鼠标选中内容
QPlainTextEdit获取鼠标选中内容m_plainTextEdit是一个 QPlainTextEdit *获取选中内容QString selectStr = m_plainTextEdit->textCursor().selectedText();如果选中,复制选中内容,如果没有选中,复制全部//选中内容则复制,未选中内容则不复制if (!m_plainTextEdit->textCursor().selectedText().isEmpty()) { m_plain
2021-06-22 10:58:44 4464 5
原创 用QT、QImage来制作简单图像处理工具
用QT、QImage来制作简单图像处理工具源码地址:https://github.com/dependon/simple-image-filter技术层面QImage作为容器全权操作,采用了qt+dtk或者默认qt实现实现滤镜技术实现了老照片、反色滤镜、磨皮滤镜、暖色滤镜、冷色滤镜、灰度滤镜、锐化等滤镜,代码简单,可扩展性强。程序图片磨皮滤镜多滤镜支持图片裁切裁切代码源自:Clipping function reference:https://github.com/Leopa
2021-05-18 14:30:52 2315 2
原创 深度系统deepin/uos动态壁纸
deepinv20.2动态壁纸程序演示视频:https://www.bilibili.com/video/BV1Ro4y197U3源码地址:https://github.com/dependon/deepin-dreamscene-ui下载地址:https://github.com/dependon/deepin-dreamscene-ui/releases
2021-04-26 13:23:14 4990 4
原创 linux窗口透明(全局透明,进程id查找wid,进程名称查找wid)
linux窗口透明使用到了qt xcb-ewmh x11-xcb效果图如何实现控制全部窗口透明1.遍历WID树,的到全部窗口得wid2.区别窗口属性,桌面和dock窗口不设置透明,其他窗口设置透明(透明度随着滑动条)3.监听x11时间,新的窗口创建就设置透明度感觉话滑动条核心代码 通过名称找到该程序的wid#ifndef SETDESKTOP_H#define SETDESKTOP_H// Attempt to identify a window by name or attrib
2021-04-13 20:41:19 5016
原创 linux下将qt程序打包成appimage程序
linux下将qt程序打包成appimage程序一.环境准备1.1下载linuxdeployqt的程序(打包qt程序的工具)https://github.com/probonopd/linuxdeployqt/releases下载appimage的包linuxdeployqt-7-x86_64.AppImage下载下来更改一下权限sudo chmod 777 linuxdeployqt-7-x86_64.AppImagearm的话,自行编译吧1.2下载appimagekit(appimage
2021-04-13 15:36:06 6566 11
原创 QJson出现“\n“变成“\\n“
在使用QJson的时候出现了字符串有\n的情况,在QJson转换为QByteArray的时候,\n变成了\n的情况,可以通过这样解决 int index = -1; do { index = qByteHttpData.indexOf("\\n"); qByteHttpData.replace(index - 1, 3, "\n"); } while (index > 0);如下情况:在这里插入图片描述...
2021-03-18 15:59:17 942
原创 qt动画类学习
Qt动画类 QPropertyAnimation显示动画QPropertyAnimation *animation = new QPropertyAnimation(window(), "windowOpacity");或者QPropertyAnimation *animation= new QPropertyAnimation();Animation->setTargetObject(window());Animation->setPropertyName("windowOpaci
2020-12-04 17:37:12 2691
原创 c++强制类型转换
char*转intchar *numstr = “12”;int val = atoi(numstr);C++中四种类型转化我们都知道:C中的强制类型转换(Type Cast)很简单,不管什么类型的转换都是:Type b = (Type)a而C++中有四种转换类型如下:static_cast ,const_cast ,dynamic_cast,reinterpret_cast我们来详细了解一下:1.static_cast静态转换(在编译期间处理)类似于C风格的强制转换最常用的类型转换符
2020-12-04 17:31:26 295
原创 Qt图像处理技术二:对QImage图片简单滤镜(暖色,冷色,反色,老照片,灰度)
单色滤镜1.暖色2.冷色3.反色4.老照片5.灰度使用qt实现效果,直接可用,原理也介绍https://github.com/dependon/simple-image-filter
2020-12-04 16:38:20 6007 9
原创 qt中常用lambda表达式
用qt中lambda表达式什么是lambda个人理解:没有函数名的函数qt中使用基础备注:都是在qt5中做的使用,我的qt版本是qt5.11.3pro文件中config+=c++11常见的lambda表达式使用方法一信号槽函数里使用先举例一个常见的lambda表达式使用(延时执行操作)举例:通过信号槽将t和tmpImage两个参数传进lambda表达式中,从而实现延时删除文件方法一: QString tmpImg ="~/Picture/xx.png" QTimer *
2020-11-06 17:26:29 13420
原创 linux下用android-file-transfer-linux替换掉 gvfs-mtp来挂载mtp
用android-file-transfer-linux替换掉 gvfs-mtp来挂载mtp问题现状在我使用gvfs-mtp挂载的时候,无论读取文件还是获取对应文件夹下所有文件的路径等操作,都非常的卡顿,比本地慢了大概100倍,所以选择使用android-file-transfer-linux来挂载设备是非常优秀的,我感觉就是gvfs-mtp协议层的问题仓库地址github的网站是https://github.com/whoozle/android-file-transfer-linux/如何使用
2020-11-06 15:03:46 2654 6
原创 Linux如何进入bios
Linux如何进入bios如何通过Linux系统进入bios如何通过Linux系统进入bios我们都知道在系统没启动前用按键进入bios,但是如果在启动没启动之前按键失效(bios里面设置的原因)。如果能进入linux系统,那么可以执行 sudo systemctl reboot --firmware-setup,重启直接不进入系统,而进入bios。...
2020-09-11 16:45:21 22952 6
原创 在linux下QImage和QPixmap的内存泄漏和QPixmap线程安全问题
在linux下QImage和QPixmap的内存泄漏和QPixmap线程安全问题为什么不在线程里面使用QPixmap(path),而是使用QPixmap::fromImage(QImage(path))或者类似的转换QPixmap和QImage在线程中都存在内存泄漏问题能释放大部分内存的方法平台和版本为什么不在线程里面使用QPixmap(path),而是使用QPixmap::fromImage(QImage(path))或者类似的转换这是由于QPixmap构建存在线程安全问题,我们相册和看图类的软件往往
2020-06-12 14:19:06 5164
原创 Windows下使用Qt复制文件夹(xcopy,非QFile)
Qt使用xcopy复制文件目录.h文件#include #include #include namespace Ui {class Cxcopy;}class Cxcopy : public QWidget{Q_OBJECTpublic:explicit Cxcopy(QWidget *parent = 0);~Cxcopy();bool CopyFile(QStrin...
2019-06-13 10:56:06 3063
幻梦动态壁纸linux通用版本1.3.1 amd64环境的deb包
2022-06-09
x11opacity-tool-x86_64.AppImage
2021-04-13
利用QCamera的技术实现的一个简单的摄像头程序
2020-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人