[TOC]
kiran桌面环境的相关Qt控件的封装
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
mkdir build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
生成Makefile
make
进行编译sudo make install
sudo make uninstall
/usr/share/kiranwidgets-qt5/examples/
为KiranDesktop所封装的QApplicaiton
加入了以下功能:
待加入功能:
感知系统主题变化,重新设置KiranStyle,以更新界面适应主题变化
感知系统缩放率调整,动态更新Qt程序的缩放率
/usr/include/kiranwidgets-qt5/kiran-applicaiton.h
略
集成的Qt进程单例第三方代码,修改其基类为KiranApplicaiton
/usr/include/kiranwidgets-qt5/kiran-single-application.h
略
自定义标题栏窗口
/usr/include/kiranwidgets-qt5/kiran-titlebar-window.h
使用UI文件来生成界面的示例代码
因为传入setupUI的参数为KiranTitlebarWindow创建的QWidget(专门用于显示窗口内容的区域 ),而不是this
不要通过QtDesigner信号和槽编辑器添加的信号和槽
QtDesigner中信号和槽编辑器中连接的信号和槽在生成代码setupUI方法中,会connect ui控件和KiranTitlebarWindow创建的QWidget的槽,因为传入setupUI的参数为KiranTitlebarWindow创建的子控件QWidget类型
尽量不要在QtDesigner**中通过右键控件“**Designer”来添加槽函数
这个实际上是生成具有规范函数名的槽函数,在setupUI中的QMetaObject::connectSlotsByName(...);来进行连接,因为传入setupUI的参数为KiranTitlebarWindow创建的子控件QWidget类型,所以连接不上
使用代码来生成界面的示例代码
单纯使用面向过程,不通过派生来使用KiranTitlebarWindow
自定义消息对话框
/usr/include/kiranwidgets-qt5/kiran-message-box.h
使用静态方法,快速使用KiranMessageBox
实例化定制按钮,使用KiranMessageBox
派生于QLineEdit,在KiranStyle中更改了其绘制
/usr/include/kiranwidgets-qt5/kiran-search-box.h
略
派生于QAbstractButton,在KiranStyle中加入了SwitchButton的绘制
/usr/include/kiranwidgets-qt5/kiran-switch-button.h
略
在KiranApplicaiton构造函数中,为了统一样式和适应系统主题更新,会设置默认Style为KiranStyle
有部分控件绘制的细节,可通过**/usr/include/kiranwidgets-qt5/style-property-helper.h**来控制KiranStyle的绘制细节
KiranStyle中内置了三种绘制样式的Button(Normal,Default,Warning),可通过style-property-helper.h中的getButtonType/setButtonType方法获取和设置按钮的绘制样式
QSpinBox、QTimeEdit、QDateEdit、QDateTimeEdit KiranStyle中提供类似于SpinBox的控件按钮绘制位置四种选项
ARROW_TWO_SIDERS 左右两边
ARROW_VERTICAL_STACK 垂直堆叠
ARROW_POSITION_AUTOMATIC 自动布局
自动根据SpinBox的宽度来布局
KiranStyle给QProgressBar提供了三种进度条文本绘制选项
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。