dtk电源管理模块
dtkpower
项目介绍
dtkpower是对于deepin/UOS系统上的upowerdbus接口和dde-daemon接口的封装,其目的是在于方便第三方开发者轻松且快速的调用接口进行开发。
接口文档
项目结构
对外暴露出 dkbdbacklight.h
dpowerdevice.h
dpowermanager.h
如果需要对键盘背光和电源信息获取,需要使用dpowermanager进行管理。见下方示例
如何使用项目
如果要使用此项目,可以阅读相关文档再参照以下示例进行调用
dkbdbacklight使用示例
#include <QCoreApplication>
#include <qdebug.h>
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
qDebug() << kb->brightness();
qDebug() << "*************************************************";
kb->setBrightness(1);
qDebug() << "brightness:" << value;
});
QObject::connect(
kb.data(),
&app,
[=](const qint32 value, const KbdSource &source) { qDebug() << "brightness:" << value << static_cast<int>(source); });
return app.exec();
}
void brightnessChangedWithSource(const qint32 value, const KbdSource &source)
信号: 键盘背光亮度级别已更改, 包括有关更改来源的信息
void brightnessChanged(const qint32 value)
信号:键盘背光亮度发生改变
电源设备管理类, 用于管理电源设备, 包括电源设备的创建, 电源设备的属性获取, 电源设备的状态获取等
Definition dpowermanager.h:20
QSharedPointer< DKbdBacklight > kbdBacklight() const
创建键盘背光设备对象
dpowerdevice使用示例
和上方的使用方法类似
#include <QCoreApplication>
#include <qdebug.h>
int main(int argc, char **argv)
{
QCoreApplication a(argc, argv);
qDebug() << device->energyFullDesign();
qDebug() << "updateTime:" << value;
});
qDebug() << "Time:" << value;
});
qDebug() << "percentage:" << value;
});
QObject::connect(
QObject::connect(
QObject::connect(
return app.exec();
}
void updateTimeChanged(const QDateTime &value)
从电源读取数据的时间点发生改变
void timeToEmptyChanged(const qint64 value)
电源消耗到空的时间发生改变
void percentageChanged(const double value)
电源百分比发生改变
QSharedPointer< DPowerDevice > displayDevice() const
当前显示的电源设备(这是一个表示要在桌面环境中显示的状态图标的复合设备, docker栏显示的电源图标指向的电源设备)
void deviceRemoved(const QString &name)
信号:设备被移除
void deviceAdded(const QString &name)
信号:有新的设备被接入
void lidIsClosedChanged(const bool &value)
信号:笔记本盖子被关闭
但是和上面的不同的是,manager提供了几种不同的方法创建device对象,分别为 displayDevice
findDeviceByName
如果需要对比其用法,详见doxygen文档
dpowersettings使用指南
dpowersetting是对于电脑的电源进行相关设置,这些设置是(目前)依赖于dde-daemon实现的,所以在不存在dde-daemon的电脑上是无法进行调用。这个的调用方法就很简单,只需要直接创建dpowersettings对象即可。
需要注意的是,在设置一些电源选项(如混合睡眠,休眠)之前最好通过dtklogin对应方法确定其是否被支持,否则可能会出现意料之外的错误(如电脑黑屏无法被唤醒的情况)