Push layered Qt host source files
This commit is contained in:
@@ -6,45 +6,27 @@
|
||||
|
||||
namespace APP {
|
||||
|
||||
/*
|
||||
* 这是小键盘界面里的单个按键控件。
|
||||
*
|
||||
* 它的职责很单纯:
|
||||
* 1. 保存这颗键自己的显示信息
|
||||
* 2. 根据“锁定态 / 按下态”切换颜色
|
||||
* 3. 自己完成绘制
|
||||
*
|
||||
* 它不负责协议解析,也不直接参与 DRI / LGC 逻辑。
|
||||
*/
|
||||
class APP_KeyButton : public QPushButton
|
||||
{
|
||||
public:
|
||||
explicit APP_KeyButton(const APP_KeyInfo& KeyInfo, QWidget* parent = nullptr);
|
||||
|
||||
// 锁定态通常表示这颗键处于某种功能模式。
|
||||
void App_Func_SetLatched(bool IsLatched);
|
||||
|
||||
// 按下态表示实体键或逻辑键当前真的处于按下中。
|
||||
void App_Func_SetPressed(bool IsPressed);
|
||||
void App_Func_SetHintText(const QString& HintText);
|
||||
|
||||
protected:
|
||||
// 每颗键都自己画背景、边框、提示文字和主文字。
|
||||
void paintEvent(QPaintEvent* event) override;
|
||||
|
||||
private:
|
||||
// 下面这些函数只负责给 paintEvent 提供颜色。
|
||||
QColor App_Func_GetAccentColor() const;
|
||||
QColor App_Func_GetBackgroundColor() const;
|
||||
QColor App_Func_GetBorderColor() const;
|
||||
QColor App_Func_GetTextColor() const;
|
||||
|
||||
// 这颗键对应的显示信息。
|
||||
APP_KeyInfo appKeyInfo;
|
||||
|
||||
// 是否处于锁定态。
|
||||
QString appHintText;
|
||||
bool appIsLatched = false;
|
||||
|
||||
// 是否处于按下态。
|
||||
bool appIsPressed = false;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user