在Python代码创建的窗口中更改字体

2 投票
1 回答
723 浏览
提问于 2025-04-17 06:49

在用Python代码创建的窗口中更改字体。

我有一些可以正常运行的Python代码,它会在一个窗口中显示日期和时间,格式是MMDDYYYY HH:MM:ss。我想在日期和时间上方添加一些额外的文字,并且想要增大字体的大小(包括日期和时间MMDDYYYY HH:MM:SS)。我尝试添加不同的文字和字体大小,但这会导致我的代码无法正常工作。

#!/usr/bin/env python
# -*- coding: utf-8  -*-

import pygtk
pygtk.require('2.0')
import gtk
import time

class Clock:

    def __init__(self):
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        window.connect("destroy", lambda w: gtk.main_quit())
        window.set_title("mmddyyyyhhmmss-Clock")
        self.label = gtk.Label()
        window.add(self.label)
        window.set_border_width(10)
        window.show_all ()

    def update(self):

        self.label.set_text(time.strftime('%m/%d/%Y-%H%M%S'))
        return True  #needed to keep the update method in the schedule

def main():
    gtk.main()

if __name__ == "__main__":
    clock = Clock()
    gtk.timeout_add(200, clock.update)  #add to the main loop scheduled tasks
    main()

1 个回答

1

使用标记语言通常可以满足你的需求。首先,在标签上启用它。然后,不要使用 set_text,而是使用 set_markup

self.label.set_use_markup(True)
t = time.strftime('%m/%d/%Y-%H%M%S')
self.label.set_markup('<span size="18000">The time:</span> ' + t)

作为参考,GTK使用的标记语言是 Pango

撰写回答