您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 在Windows中更改控制台字体

5b51 2022/1/14 8:22:23 python 字数 3242 阅读 531 来源 www.jb51.cc/python

有没有办法在 python 2.6中更改 Windows中的控制台字体? 我在Windows 7上. 即: import os os.console.font = 'Lucida Console' *编辑(意外发布此答案) 更多信息和问题: 我查看了Windows API: http://msdn.microsoft.com/en-us/library/ms682073%28v=VS.85%29.

概述

我在Windows 7上.

即:

import os
os.console.font = 'Lucida Console'

*编辑(意外发布此答案)

更多信息和问题:

我查看了Windows API:
http://msdn.microsoft.com/en-us/library/ms682073%28v=VS.85%29.aspx

看起来它具有更改控制台字体的功能

SetCurrentConsoleFontEx

或者至少获取有关当前字体的信息:

GetCurrentConsoleFont
GetCurrentConsoleFontEx

我的下一步是找到一个可以使用windows API的python模块.
这是一个名为pywin32:
http://sourceforge.net/projects/pywin32/

您导入的实际模块不是pywin32,而是win32api,win32net,win32console
我完全猜测了这一点.文档在哪里?
帮助运行(‘win32console’)

没有在那里显示所提到的字体功能,它只是简单地遗漏了它们.
在这里错过了什么吗?文档在哪里?或者哪个模块具有所有API的控制台功能……?

import ctypes

LF_FACESIZE = 32
STD_OUTPUT_HANDLE = -11

class COORD(ctypes.Structure):
    _fields_ = [("X",ctypes.c_short),("Y",ctypes.c_short)]

class CONSOLE_FONT_INFOEX(ctypes.Structure):
    _fields_ = [("cbSize",ctypes.c_ulong),("nFont",("dwFontSize",COORD),("FontFamily",ctypes.c_uint),("FontWeight",("FaceName",ctypes.c_wchar * LF_FACESIZE)]

font = CONSOLE_FONT_INFOEX()
font.cbSize = ctypes.sizeof(CONSOLE_FONT_INFOEX)
font.nFont = 12
font.dwFontSize.X = 11
font.dwFontSize.Y = 18
font.FontFamily = 54
font.FontWeight = 400
font.FaceName = "Lucida Console"

handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
ctypes.windll.kernel32.SetCurrentConsoleFontEx(
        handle,ctypes.c_long(False),ctypes.pointer(font))

我还写了一个不那么简单的例子on my homepage.

总结

以上是编程之家为你收集整理的python – 在Windows中更改控制台字体全部内容,希望文章能够帮你解决python – 在Windows中更改控制台字体所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶