自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (5)
  • 收藏
  • 关注

原创 Qt Installer FrameWork文件后缀与打开程序关联

查看Qt帮助文档,有一个 RegisterFileType 的Operation这里解释一下参数信息:extension:需要注册的文件后缀,不包含.command:打开该文件的命令description:描述contentType:文件内容类型icon:文件图标下面是示例代码Component.prototype.createOperations = function(){ var registFileSuffix = ["hyprj"]; component.addOpe

2021-04-07 18:05:19 405

原创 QTableView/QTableWidget 实现hover一行效果

QTableView/QTableWidget 实现hover一行效果在网上看到一些实现这个效果都是通过鼠标事件判断悬浮在哪一行实现的,这里提供另一种思路。在Qt的模型/视图/代理框架里面,关于item的绘制是交给代理实现的,默认的QStyledItemDelegate的paint会去调用virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const;这个虚函数,初始化一些

2021-02-02 18:21:59 4843 8

原创 Qt installer framework 在 linux生成桌面图标

关于Qt install framework制作安装包的过程可以参考这篇文章https://blog.csdn.net/liukang325/article/details/52297036下面是在Linux下制作桌面图标的过程,首先看文档,有一个 CreateDesktopEntry 参数可以看到这个第二个参数填写文件名称,如果不是绝对路径,会默认将该文件放到 $XDG_DATA_HOME/applications 目录下。第三个参数是一组键值对,具体可使用的键值可参考https://specif

2021-01-26 23:46:51 1353

原创 Qt Installer FrameWork MessageBox按钮翻译中文

Qt Installer FrameWork MessageBox按钮翻译中文因为项目需要,要为软件制作安装包,要求Linux和Windows界面一致,此时就想到用QIFW,制作安装包过程都还算顺利,但是发现弹出的消息框按钮不是中文,就查看帮助文档,发现了翻译这个功能。但是给config.xml文件里加了翻译以后,还是不起作用,于是翻看源码,发现原因如下。这段代码是加载翻译文件,如果配置文件里改项为空,则加载locale对应的翻译文件,否则加载资源文件里对应配置文件中设置的翻译文件。资源里的翻

2021-01-26 18:01:04 619 4

原创 Qt自定义圆形环状菜单

Qt自定义圆形环状菜单先看实现的效果可设置圆环背景色、Hover扇形的颜色、箭头颜色、动画速度,核心代码如下1、初始化设置背景透明,默认打开旋转和缩放动画 q->setFixedSize(180, 180); diameter = 150; smallDiameter = calcInCircleRadius() * 2; q->setMouseTracking(true); q->setWindowFlags(Qt::FramelessWind

2021-01-08 21:56:14 1936 2

原创 QProcess在Linux下双向通信

QProcess在Linux下双向通信1、父进程 QProcess pro; pro.setReadChannelMode(QProcess::MergedChannels); pro.connect(&pro, &QProcess::readyRead, [&]{ QMessageBox::information(0, "recv", pro.readAllStandardOutput()); }); pro.start("./t

2020-10-28 14:21:54 423

原创 Qt自定义开关按钮

Qt自定义开关按钮先看实现的效果可设置开关背景色、圆背景色、动画速度,核心代码如下 //开启鼠标追踪,动态切换鼠标样式 setMouseTracking(true); //设置属性,初始化动画 setProperty("circlePos", QPointF((float)height() * 0.05, (float)height() * 0.05)); m_pAni = new QPropertyAnimation(this); m_pAni->setTargetObjec

2020-10-28 11:03:15 1298

原创 QTableView/QTableWidget表头添加复选框

QTableView/QTableWidget表头添加复选框核心代码如下//可复选列的属性struct stCheckbleColumnSettings{ bool canTristate; //是否支持三态 QString text; //显示的文本 Qt::Alignment al; //对齐方式 stCheckbleColumnSettings(){ canTristate = false; al = Qt::A

2020-10-21 18:03:47 2445

原创 QTableView/QTableWidget设置单元格文字边距

QTableView/QTableWidget单元格设置文字由于项目要求,需要设置Tree行的间距,在网上搜索发现大多数都是用的样式表QTreeView::item{ padding:10px;}或者QTreeView::item{ margin:10px;}但是在使用中发现这个样式只能修改行高,无法修改间距。所以查看Qt帮助文档,发现有QTreeView有drawRow接口,尝试重写该函数,发现能够实现间距调整void SettingTree::drawRow(QPainter

2020-10-20 09:40:01 4758

原创 QTreeView/QTreeWidget设置行间距

*QTreeView/QTreeWidget设置行间距由于项目要求,需要设置Tree行的间距,在网上搜索发现大多数都是用的样式表QTreeView::item{ padding:10px;}或者QTreeView::item{ margin:10px;}但是在使用中发现这个样式只能修改行高,无法修改间距。所以查看Qt帮助文档,发现有QTreeView有drawRow接口,尝试重写该函数,发现能够实现间距调整void SettingTree::drawRow(QPainter *pa

2020-10-19 17:57:10 4548 1

原创 QTabBar修改文字对齐方式

QTabBar文字对齐方式修改尝试使用QSS修改QTabBar{ text-align:left center;}QTabBar::tab{ text-align:left center;}失败!查看帮助文档,也没找到能够修改对齐方式的函数,索性去查源码,一路跟踪到case CE_TabBarTab: if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(op

2020-09-10 15:45:48 1830 3

hoverrowtablewidget.zip

hover一整行效果的qtablewidget,可设置hover字体,hover背景色,hover一行的边框色,是否启用该效果。

2021-02-02

基于Qt5圆形环状菜单

基于Qt5实现的圆环状菜单、支持展开,收缩动画,可拖拽移动、可设置背景色,hover颜色

2021-01-08

基于Qt5圆形环状菜单

基于Qt5实现的圆环状菜单、支持展开,收缩动画,可拖拽移动、可设置背景色,hover颜色

2021-01-08

基于Qt5圆形环状菜单

基于Qt5实现的圆环状菜单、支持展开,收缩动画,可拖拽移动、可设置背景色,hover颜色

2021-01-08

基于Qt的仿手机开关按钮

基于Qt的仿手机端开关按钮,使用QPainter绘制,支持设置开关背景色,开关圆形按钮背景色,设置状态切换动画时长,根据界面大小自适应开关大小

2020-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除