Fonts 文本字段派生类字体在Racket中不起作用
我正在尝试创建一个具有特定字体的文本字段派生类。该字段可以正常创建,但字体不起作用:Fonts 文本字段派生类字体在Racket中不起作用,fonts,textbox,scheme,racket,Fonts,Textbox,Scheme,Racket,我正在尝试创建一个具有特定字体的文本字段派生类。该字段可以正常创建,但字体不起作用: #lang racket/gui ; my particular font: (define (myfont size) (make-object font% size 'modern 'normal 'bold)) (define myframe (new frame% [width 600] [label "MyFrame"])) (new text-field% [parent myfra
#lang racket/gui
; my particular font:
(define (myfont size) (make-object font% size 'modern 'normal 'bold))
(define myframe (new frame% [width 600] [label "MyFrame"]))
(new text-field% [parent myframe] [label "Usual text-field; font works here:"] [font (myfont 14)])
; Following is my text-field derived class with a particular font:
(define mytf% (class text-field% (field (font (myfont 14))) (super-new)))
(new mytf% [parent myframe] [label "My text-field derived class; font does not work here:"])
(send myframe show #t)
问题在哪里?如何解决?谢谢你的评论/回答 问题在于
font
不是text field%
中的公共字段。
因此,(字段(font(myfont 14))
使新字段在mytf%
中可见,但不被文本字段%
使用
解决方案是在实例化文本字段时传递字体信息:
(define mytf%
(class text-field%
(super-new [font (myfont 14)])))