推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
Osk
V2EX  ›  Python

用 Python 直接调节外接显示器亮度等参数

  •  6
     
  •   Osk · Jan 21, 2018 · 12081 views
    This topic created in 3215 days ago, the information mentioned may be changed or developed.

    主要是晚上想把显示器亮度调低一点,色温调低一些,但是显示器的操作面板简直难用到爆,按键还有点失灵了。而白天或者玩游戏看电影时又得使用 sRGB 颜色预设并提高亮度,按按钮操作比较纠结。

    地址: https://github.com/dot-osk/monitor_ctrl

    把我之前一直在用的一个 Python 脚本魔改了下,之前里面到处都是硬编码,没有 GUI。现在用 Tkinter 做了个简单的 GUI,也能继续使用 CLI 操作。

    支持的操作:

    - 调整亮度
    
    - 调整对比度
    
    - 设置色温 / 颜色预设
    
    - 设置 RGB 颜色的比例
    
    - OSD 语言
    
    - 开关机
    
    - 切换输入源
    
    - 自动调整图像 (VGA 输入需要)
    
    - 恢复出厂设置
    

    GUI:

    49 replies  •  2020-01-06 10:56:58 +08:00
    lScarlet
    lScarlet
    Jan 21, 2018 via Android
    1
    看一看
    chroming
    chroming
    Jan 21, 2018
    2
    哇,正好需要这个,之前尝试自己写类似的程序遇到点问题没继续
    Death
    Death
    Jan 21, 2018
    3
    原来还有 DDC/CI 这种协议呀,第一次知道
    Applenice
    Applenice
    Jan 21, 2018
    4
    哇,看看
    co3site
    co3site
    Jan 21, 2018 via Android
    5
    还能这样控制,长见识了
    wwqgtxx
    wwqgtxx
    Jan 21, 2018 via iPhone
    6
    插一句,这个程序根本不用检查 python 版本是否是 py3,因为用了类型定义语法,根本就不支持 py2😂
    lyztonny
    lyztonny
    Jan 21, 2018
    7
    感谢拯救了一台按钮坏掉没办法调亮度的显示器!
    edsion996
    edsion996
    Jan 21, 2018
    8
    长见识了。
    不过,macOS 没有 api 可以控制吗
    ysc3839
    ysc3839
    Jan 21, 2018
    9
    同第一次知道!
    yang2yang
    yang2yang
    Jan 21, 2018
    10
    哇,很极客
    conn4575
    conn4575
    Jan 22, 2018 via Android
    11
    不愧胶水语言,啥都能做…😂
    Ehco1996
    Ehco1996
    Jan 22, 2018 via iPhone
    12
    这个真的厉害了 一会起床试一试
    muziyue
    muziyue
    Jan 22, 2018
    13
    /* 可我记得这东西显卡设置里能调 */
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    15
    @wwqgtxx 类型定义语法?是指 type hints 吗?
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    16
    @zjb861107 osx 也有一个插件可以搜 ddc/ci osx 就有不少,其实三大平台都有不少类似功能的。只是 windows 不少是闭源的才自己撸一个。
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    17
    @muziyue Intel 核芯显卡控制面板能调,但用着相当别扭,响应慢。N 卡和 A 卡控制中心似乎没有调节入口。
    jason19659
    jason19659
    Jan 22, 2018
    18
    跑不起来,嗯。
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    19
    @jason19659 python 版本多少呢?可以试试 -c 启动看看报的什么错
    1ku
    1ku
    Jan 22, 2018 via iPhone
    20
    刚学 python 自己看书,不想以后被笑话,各位前辈,这个 GUI 是读什么啊?“孤诣”、“鸡 U 唉”、“瑰”还是其他的?
    leafleave
    leafleave
    Jan 22, 2018 via iPhone
    21
    支持什么显示器呢? VGA?HDMI?DP?
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    22
    @leafleave vga, dvi 已测试没问题,hdmi 和 dvi 信号兼容应该也没问题,dp 也应该不是问题
    xwhxbg
    xwhxbg
    Jan 22, 2018
    23
    awesome,仿佛回到了 2000 年那会儿各路神仙各种 C 艹小程序的年代
    580a388da131
    580a388da131
    Jan 22, 2018
    24
    @1ku /ˈɡuːi/
    ballshapesdsd
    ballshapesdsd
    Jan 22, 2018
    25
    star 了
    yingfengi
    yingfengi
    Jan 22, 2018 via Android
    26
    还有这种协议之类的?
    有着显示器带一个驱动盘(光盘上这么写的)
    那个软件就可以调,估计就是用这协议
    wwqgtxx
    wwqgtxx
    Jan 22, 2018
    27
    @Osk 恩,并找不到靠谱的中文翻译来解释 type hints
    mYYnSmiTEQWcCwAr
    mYYnSmiTEQWcCwAr
    Jan 22, 2018 via Android
    28
    居然还没人来提 f.lux

    不过还是谢谢 lz 又让 py 更好玩一点了
    KgM4gLtF0shViDH3
    KgM4gLtF0shViDH3
    Jan 22, 2018
    29
    开关机是什么意思?还能开机?
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    30
    @bestkayle 相当于按面板上的开关机按钮,能开能关,这个要看显示器支持得怎样
    KgM4gLtF0shViDH3
    KgM4gLtF0shViDH3
    Jan 22, 2018
    31
    @Osk #30 看不到屏幕怎么开呢,是定时开嘛。我这个公司配的飞利浦显示器找不到关的按钮,正好需要。
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    32
    @bestkayle 双屏无压力。或者创建计划任务等,在计算机开机 /唤醒时打开屏幕
    Osk
    Osk
    OP
    Jan 22, 2018 via Android
    33
    @bestkayle 不过小心本身没有关机按钮的关了会不会开不了。。。
    aheadlead
    aheadlead
    Jan 22, 2018
    34
    给楼主一个 idea
    根据日落日出调节亮度和色温(类似 Night Shift 和 f.lux)

    之前用 shell 写过一个 但是写的太丑了...
    knva
    knva
    Jan 22, 2018
    35
    卧槽,还有这种操作,学到了
    ysc3839
    ysc3839
    Jan 22, 2018 via Android
    36
    @cy97cool f.lux 不能调亮度,只能调色温。
    j717273419
    j717273419
    Jan 22, 2018 via Android❤️1
    37
    可以改一下标题 [Python 有哪些让人眼前一亮的函数?]
    laoyuan
    laoyuan
    Jan 22, 2018
    38
    报告 LZ,如果关掉显示器再开开(没关机),设置就是失效了,这是怎么回事
    xshwy
    xshwy
    Jan 23, 2018
    39
    @j717273419 哈哈哈哈哈 这个标题满分
    NEETLEE
    NEETLEE
    Jan 23, 2018
    40
    很厉害呀,想从楼主的代码里扣一个快捷键切换信号源的脚本出来,这样就方便在 ps4 和 pc 之间的切换了...不过看了一天,进展缓慢...等弄出来了,再贴代码
    Osk
    Osk
    OP
    Jan 24, 2018 via Android
    41
    @laoyuan 试试测试分支里面的 “保存 nvram ” 按钮能不能解决问题。

    https://github.com/dot-osk/monitor_ctrl/tree/testing
    Osk
    Osk
    OP
    Jan 24, 2018 via Android❤️1
    42
    @NEETLEE 可以直接 import vcp 模块单独使用的
    laoyuan
    laoyuan
    Jan 24, 2018
    43
    周末回家试试,谢谢 LZ
    bitlaoyuan
    bitlaoyuan
    Jan 29, 2018
    44
    报告 LZ,“保存 nvram ” 按钮不能解决问题
    Osk
    Osk
    OP
    Jan 30, 2018
    45
    @bitlaoyuan 抱歉,这个我也没法了。。。 ☹
    bitlaoyuan
    bitlaoyuan
    Feb 2, 2018
    46
    我打算改改脚本,每 30 秒提交一次
    DuXing
    DuXing
    Jan 26, 2019
    47
    厉害了,终于可以只动动鼠标就能设置亮度了。
    可以支持多显示器(扩展屏)吗?
    Jellyan
    Jellyan
    Jan 5, 2020
    48
    显示器的按键失灵了,不小心亮度调到了 100,看着都流泪。多谢楼主这个脚本,拯救了我的眼睛
    Osk
    Osk
    OP
    Jan 6, 2020
    49
    @Jellyan 哈哈, 我也是按键失灵了被逼的 😭...

    @DuXing 支持多个外接显示器, 但是好像多块屏是同型号的有问题(?), 我没办法测试多个同型号的(穷😫)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2283 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 82ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    ♥ Do have faith in what you're doing.