QT实现屏幕亮度调节

news/2025/1/31 9:50:40/

最近又写了一个调屏幕亮度的小工具,很简单,但是找资料花了很多时间…
还是先看一下最终界面:
界面
然后是框架:
框架
其中,gdi32.dll可以在自己电脑找,一般在C:\Windows\System32目录下。gammaramp.h和gammaramp.cpp参照:http://www.nirsoft.net/vc/change_screen_brightness.html
一般初学者才会看这篇博客吧,还是直接放原码的实在:
mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <windows.h>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots://定义接收的槽函数void onSpinValueChanged(int i);void on_pushButton_clicked();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwidow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "gammaramp.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);ui->spinBox->setRange(0, 255);ui->Slider->setRange(0, 255);//使spinbox和slider数据同步QObject::connect(ui->spinBox,SIGNAL(valueChanged(int)),ui->Slider,SLOT(setValue(int)));QObject::connect(ui->Slider,SIGNAL(valueChanged(int)),ui->spinBox,SLOT(setValue(int)));//设初值ui->spinBox->setValue(128);setWindowTitle(tr("屏幕亮度工具"));//关联槽函数,把spinbox值传到onspinvaluechangedQObject::connect(ui->spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinValueChanged(int)));
}MainWindow::~MainWindow()
{delete ui;
}//获取spinbox的值
void MainWindow::onSpinValueChanged(int i)
{int gamma = i;CGammaRamp GammaRamp;GammaRamp.SetBrightness(NULL, gamma);
}//假装还原到屏幕正常亮度,这个还可以写得更好,有兴趣的可以试试
void MainWindow::on_pushButton_clicked()
{CGammaRamp GammaRamp;GammaRamp.SetBrightness(NULL, 128);//手动赋的值...
}

注意事项:
1、gammaramp.cpp里可能会出现宽字符问题,加上TEXT就可以了。
问题
2、有问题欢迎指出,大家共同进步!


http://www.ppmy.cn/news/343356.html

相关文章

笔记本屏幕 亮度 背光调节 工具 c++ 用来解决亮度调节功能键失效问题

某次windows10 大更新&#xff0c;坑啊&#xff0c;调节亮度的快捷键失效了&#xff0c;多次卸载集显驱动和重新安装没有解决&#xff0c;无奈使用电源管理里面的亮度滑竿几个月后&#xff0c;更新了win10 1803&#xff0c; 本想能解决这个问题&#xff0c;然而。。。无奈只能自…

Qt调节电脑屏幕亮度

文章目录 前言1.CGammaRamp.h2.CGammaRamp.cpp3.MainWindow.h4.MainWindow.cpp4.效果展示(**尝试了GIF、录屏、截图都没法记录屏幕亮度变化的画面,这里只演示界面**)5.gdi32.dll电脑API下载 前言 电脑没找到调节亮度在哪里,网上查找了一些资料模仿写了一个简单的,记录一下方便…

方法及问题整理--调整屏幕亮度

由于最近碰到了无法调整屏幕亮度的问题&#xff0c;试验了各个方法&#xff0c;最后顺便整理一下~ 通过“电源选项”设置 一、打开控制面板&#xff0c;将右上角的查看方式切换为“大图标”&#xff0c;点击“电源选项”。 二、窗口底部有“屏幕亮度”条&#xff0c;通过拉动…

机器视觉中的光源选型及打光方案分析

2.2.1 光源选择标准 光源的选择标准如下&#xff1a; &#xff08;1&#xff09;光源均匀性要好&#xff0c;在有效的照射范围内&#xff0c;灰度值标准差要小&#xff1b; &#xff08;2&#xff09;具有较宽的光谱范围&#xff0c;可以对不同材料的物体进行检测&#xff1…

计算机xp怎么调整亮度,[如何调整计算机屏幕的亮度] xp系统如何调整屏幕的亮度?屏幕亮度调整方法的详细说明...

76836读数如何调整计算机屏幕的亮度&#xff1f;许多朋友认为计算机显示器的亮度太亮或太暗. 如果要调节亮度&#xff0c;则找不到调节入口. 电脑屏幕的亮度也与电脑的节能有关&#xff0c;因此目前有许多具有亮度调节功能的电脑优化软件. 以下编辑总结了为每个人调整计算机屏幕…

channel的底层原理

golang之channel底层实现原理 在前面的文章中&#xff0c;我们已经了解了golang中channel的使用和优势。现在&#xff0c;让我们深入了解一下channel的底层实现原理&#xff0c;以更好地理解其工作方式。 通道的数据结构 在golang中&#xff0c;每个channel都有一个与之关联的数…

台式机XP系统调节屏幕亮度

XP系统更改方法&#xff1a; 【桌面】→ 【单击右键】→ 【属性】→ 【外观】→ 【高级】→ 项目选择【窗口】→ 【颜色1&#xff08;L&#xff09;】→ 【选择&#xff08;其它&#xff09;】将色调改为&#xff1a;85&#xff1b;饱和度&#xff1a;123&#xff1b;亮度&…

java实现屏幕亮度调节

第一步&#xff1a;添加以下工具类。 package home.equipmentControl.brightnessAdjust;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class BrightnessManager {public static void setBrightness(int brightness)t…