129 lines
3.4 KiB
C++
129 lines
3.4 KiB
C++
/**
|
||
* @author : 陈鲁勇
|
||
* @date : 2017年04月
|
||
* @version: 1.0
|
||
* @note : 根据 Apache 许可证 2.0 版(以下简称“许可证”)授权;
|
||
* 除非遵守本许可,否则您不能使用这个文件。
|
||
* @remarks: 您可以获得该许可的副本:
|
||
* http://www.apache.org/licenses/LICENSE-2.0
|
||
* 除非适用法律需要或者书面同意,按本许可分发的软件
|
||
* 要按“原样”分发,没有任何形式的,明确或隐含的担保条款。
|
||
* 参见按照本许可控制许可权限及限制的特定语言的许可证。
|
||
*
|
||
* 你可以获得该代码的最新版本:
|
||
*
|
||
* https://git.oschina.net/Mr_ChenLuYong/screenshot
|
||
*
|
||
* 开源社区的所有人都期待与你的共同维护。
|
||
*
|
||
*
|
||
* 如果你对这些代码还有不理解的地方可以通过最新的文章进行学习:
|
||
*
|
||
* 博客地址:http://blog.csdn.net/csnd_ayo
|
||
*
|
||
* 文章地址:http://blog.csdn.net/csnd_ayo/article/details/70197915
|
||
*
|
||
* 期待你提交Bug,欢迎Issues。
|
||
*
|
||
*/
|
||
|
||
|
||
|
||
#ifndef COMMONHELPER_H
|
||
#define COMMONHELPER_H
|
||
#include <QString>
|
||
#include <QRect>
|
||
|
||
class QWidget;
|
||
|
||
/**
|
||
* @class : OECommonHelper
|
||
* @brief : 通用助手
|
||
* @note : 完成一些比较常用又通用的功能
|
||
*/
|
||
class OECommonHelper
|
||
{
|
||
public:
|
||
|
||
/**
|
||
* @brief : 设置QSS文件
|
||
* @param : style 文件名
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
* @remark: 如果是qrc路径,请带上 qrc:/
|
||
**/
|
||
static void setStyle(const QString &style);
|
||
|
||
/**
|
||
* @brief : 设置语言包
|
||
* @param : language 语言包的文件名
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static void setLanguagePack(const QString& language);
|
||
|
||
/**
|
||
* @brief : 将窗口移动到中心
|
||
* @param : widget 要移动的窗口
|
||
* @param : parentRect 矩形几何数据
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static void moveCenter(QWidget* widget, QRect parentRect = {});
|
||
|
||
|
||
/**
|
||
* @brief : 获得当前界面与开发时的界面之间的横向倍率
|
||
* @return: float 倍率
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static const float& getWindowWidthMultiplyingPower(void);
|
||
|
||
|
||
/**
|
||
* @brief : 获得当前界面与开发时的界面之间的纵向倍率
|
||
* @return: float 倍率
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static const float& getWindowHeightMultiplyingPower(void);
|
||
|
||
|
||
/**
|
||
* @brief : 获得当前鼠标位置最小的子窗口
|
||
* @param : out_rect 矩形 (返回)
|
||
* @return: 成功:true
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static bool getSmallestWindowFromCursor(QRect &out_rect);
|
||
|
||
/**
|
||
* @brief : 获得当前鼠标位置的窗口
|
||
* @param : out_rect 矩形 (返回)
|
||
* @return: 成功:true
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static bool getCurrentWindowFromCursor(QRect &out_rect);
|
||
|
||
protected:
|
||
|
||
/**
|
||
* @brief : 更新窗口倍率
|
||
* @author: 陈鲁勇
|
||
* @date : 2017年04月10日
|
||
**/
|
||
static void upWindowSizeMultiplyingPower(void);
|
||
|
||
|
||
private:
|
||
/// 窗口横向倍率
|
||
static float widthMultiplyingPower_;
|
||
/// 窗口纵向倍率
|
||
static float heightMultiplyingPower_;
|
||
};
|
||
|
||
#endif /// COMMONHELPER_H
|