mieki256's diary



2025/10/30(木) [n年前の日記]

#2 [tkinter] tkinterのmessageboxのフォントを変更してみたかった

Python + tkinter で、messagebox のフォントサイズを変更してみたかったのだけど、Windows11 x64 25H2 上では全然上手く行かなくて…。いやまあ、以前調べた時に、Windows上での messagebox はOSのメッセージボックスを呼び出しているからフォント変更等は簡単にできないという話を見かけた記憶があるので、予想通りの結果ではあるのだけど…。

_mieki256's diary - tkinterのmessageboxでフォントサイズを変更したかったけど無理だった

ただ、Windows と Mac はシステムダイアログを使ってるからフォントの変更はできないけれど Linux は独自ダイアログで messagebox を実現してるからフォント変更ができる、という話を見かけて、本当なのかなと気になってきた。

_How to set font of a messagebox with Python tkinter? - Stack Overflow
_tk_messageBox

Ubuntu Linux 20.04 LTS + Python 3.8.10 上で試してみた。

_05_messagebox_font_linux.py
"""
messagebox sample. font change.
Linux上ではフォント変更が反映されるが、Windows上では反映されない。

Ubuntu Linux 20.04 LTS + Python 3.8.10
"""

import tkinter as tk
from tkinter import messagebox

TEXT = "Lorem ipsum dolor sit amet, \nconsectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
TITLE = "messagebox"


def show_messagebox():
    global root
    messagebox.showinfo(TITLE, TEXT, parent=root)


root = tk.Tk()
root.title("messagebox sample")
root.geometry("300x200")

# font setting
root.option_add("*Dialog.msg.font", "Impact 24")
# root.option_add("*Dialog.msg.width", 20)
# root.option_add("*Dialog.msg.wrapLength", "8i")

btn1 = tk.Button(root, text="Show messagebox", command=show_messagebox)
btn1.pack(pady=8)

root.mainloop()

ss_05_messagebox_font_linux_py.png

たしかに Linux上なら messagebox のフォントを変更できるらしい。

以上です。

過去ログ表示

Prev - 2025/10 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project