3 Star 17 Fork 7

openEuler / kiran-widgets-qt5

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

[TOC]

kiranwidgets-qt5

kiran桌面环境的相关Qt控件的封装

编译

  1. 安装编译依赖
    sudo yum install cmake gcc-c++ qt5-qtbase-devel qt5-linguist qt5-qtsvg-devel qt5-qtx11extras-devel libX11-devel xcb-util-devel gsettings-qt-devel
  2. 源码根目录下创建build目录mkdir build
  3. 进行build目录,执行cmake -DCMAKE_INSTALL_PREFIX=/usr ..生成Makefile
  4. 执行make进行编译

安装

  1. build目录下执行sudo make install

卸载

  1. build目录下执行sudo make uninstall

使用

  1. 安装examples,查看/usr/share/kiranwidgets-qt5/examples/

具体控件的使用

KiranApplication

为KiranDesktop所封装的QApplicaiton

加入了以下功能:

  1. 基于Mate桌面的字体监控,监控org.mate.interface下font-nam应用程序字体和org.mate.Marco.general下titlebar-font的标题栏字体
  2. 默认设置QtStyle为KiranStyle

待加入功能:

  1. 感知系统主题变化,重新设置KiranStyle,以更新界面适应主题变化

  2. 感知系统缩放率调整,动态更新Qt程序的缩放率

头文件位置

/usr/include/kiranwidgets-qt5/kiran-applicaiton.h

例子

KiranSingleApplication

集成的Qt进程单例第三方代码,修改其基类为KiranApplicaiton

头文件位置

/usr/include/kiranwidgets-qt5/kiran-single-application.h

例子

kiran-titlebar-window

kiran-titlebar-window

自定义标题栏窗口

头文件位置

/usr/include/kiranwidgets-qt5/kiran-titlebar-window.h

例子

KiranTitlebarWindow_UI

使用UI文件来生成界面的示例代码

注意事项:

因为传入setupUI的参数为KiranTitlebarWindow创建的QWidget(专门用于显示窗口内容的区域 ),而不是this

  • 不要通过QtDesigner信号和槽编辑器添加的信号和槽

    QtDesigner中信号和槽编辑器中连接的信号和槽在生成代码setupUI方法中,会connect ui控件和KiranTitlebarWindow创建的QWidget的槽,因为传入setupUI的参数为KiranTitlebarWindow创建的子控件QWidget类型

  • 尽量不要在QtDesigner**中通过右键控件“**Designer”来添加槽函数

    这个实际上是生成具有规范函数名的槽函数,在setupUI中的QMetaObject::connectSlotsByName(...);来进行连接,因为传入setupUI的参数为KiranTitlebarWindow创建的子控件QWidget类型,所以连接不上

KiranTitlebarWindow_CPP

使用代码来生成界面的示例代码

KiranTitlebarWindow_Simple

单纯使用面向过程,不通过派生来使用KiranTitlebarWindow

KiranMessageBox

kiran-message-box

自定义消息对话框

头文件位置

/usr/include/kiranwidgets-qt5/kiran-message-box.h

例子

static_method 静态方法

使用静态方法,快速使用KiranMessageBox

instantiation 实例化使用

实例化定制按钮,使用KiranMessageBox

KiranSearchBox

kiran-search-box

派生于QLineEdit,在KiranStyle中更改了其绘制

头文件位置

/usr/include/kiranwidgets-qt5/kiran-search-box.h

例子

KiranSwitchButton

kiran-switch-button

派生于QAbstractButton,在KiranStyle中加入了SwitchButton的绘制

头文件位置

/usr/include/kiranwidgets-qt5/kiran-switch-button.h

例子

Kiran Style

KiranApplicaiton构造函数中,为了统一样式适应系统主题更新,会设置默认StyleKiranStyle

有部分控件绘制的细节,可通过**/usr/include/kiranwidgets-qt5/style-property-helper.h**来控制KiranStyle的绘制细节


QPushButton

kiran-style-push-button

KiranStyle中内置了三种绘制样式的Button(Normal,Default,Warning),可通过style-property-helper.h中的getButtonType/setButtonType方法获取和设置按钮的绘制样式

  • BUTTON_Normal(默认值,默认将会以Normal绘制)
  • BUTTON_Default
  • BUTTON_Warning

QSpinBox类型(QSpinBox,QTimeEdit,QDateEdit,QDateTimeEdit)

QSpinBox、QTimeEdit、QDateEdit、QDateTimeEdit KiranStyle中提供类似于SpinBox的控件按钮绘制位置四种选项

  • **ARROW_HORIZONTAL_STACK ** 水平堆叠
kiran-spinbox-hor-stack
  • ARROW_TWO_SIDERS 左右两边

    spinbox-two-side
  • ARROW_VERTICAL_STACK 垂直堆叠

    spinbox-ver-stack
  • ARROW_POSITION_AUTOMATIC 自动布局

    自动根据SpinBox的宽度来布局

    • 当宽度过小时,使用ARROW_VERTICAL_STACK布局
    • 当宽度过大时,使用ARROW_HORIZONTAL_STACK布局
    • 当宽度适中时,使用ARROW_TWO_SIDERS布局

QProgressBar

KiranStyle给QProgressBar提供了三种进度条文本绘制选项

  • PROGRESS_TEXT_LEFT 进度文本显示在左侧
progress-bar-left
  • PROGRESS_TEXT_CENTER 进度文本显示在中间
progress-bar-center
  • PROGRESS_TEXT_RIGHT 进度文本显示在右侧
progress-bar-right

空文件

简介

Kiran Desktop Widgets Library 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/openeuler/kiran-widgets-qt5.git
git@gitee.com:openeuler/kiran-widgets-qt5.git
openeuler
kiran-widgets-qt5
kiran-widgets-qt5
master

搜索帮助