Не могу изменить размер шрифта в Tk

Я впервые пытаюсь создать графический интерфейс на Ruby с помощью Tk. Я скопировал фрагмент кода из одного из многочисленных веб-учебников и попытался изменить шрифт для одной из меток, но, похоже, ничто не влияет на представление текста.

Вот код:

require 'tk'

root = TkRoot.new('title'=>'MCIS')

defaultFont = TkFont.new("weight"=>'bold', "size"=>20)

Lbl = TkLabel.new(root) do
    text "Boooo"
    borderwidth 5
    font defaultFont
    foreground  "red"
    relief      "groove"
    grid('column'=>3, 'row'=>0)
end

Tk.mainloop()

Я вижу влияние всех параметров метки, но не шрифта. Я пытался изменить размер, вес, дать разные фамилии, оставить только один параметр; ничего не работает - шрифт остается по умолчанию, как и был. Удивительно, но он не сообщает об ошибках, все выглядит нормально. Может проблема в версиях? Я запускаю эти:

  • Линукс Центос 5
  • Tk 8.4.13
  • Руби 1.8.5
  • рубин-tcltk 1.8.5

Кроме того, не знаю, важно ли это, я запускал его через Xming с машины WinXP.


person FireAphis    schedule 20.03.2010    source источник


Ответы (1)


Когда я запустил приведенный выше код, он работает, как и ожидалось, на моем рабочем столе Linux с подключенным дисплеем. Если бы мне пришлось угадывать, я бы сказал, что Xming имеет чрезвычайно ограниченную поддержку шрифтов, возможно, только несколько растровых (читай: немасштабируемых) шрифтов.

Итак, я бы сказал, что код правильный, и проблема связана с конфигурацией X-сервера.

person Bryan Oakley    schedule 23.03.2010
comment
Ты так прав. Должен был подумать об этом сам. Я заглянул в настройки Xming, но не нашел там никаких подсказок. Я бы предположил, что это безнадежно, но, может быть, у вас есть какие-либо идеи, как заставить это работать и на Xming? - person FireAphis; 25.03.2010