如何更改Tcl默认字体大小

问题描述:

我不是很擅长Tcl,但是我正在使用此代码来可视化一些系统。任何人都可以帮助我改变下面这段代码的默认字体吗?如何更改Tcl默认字体大小

我试图把这个代码的顶部,但它没有工作:

font create myDefaultFont -family Helvetica -size 20 
option add *font myDefaultFont 

下面是代码:

proc DisplayModel2D { {ShapeType nill} {dAmp 5} {xLoc 10} {yLoc 10} {xPixels 512} {yPixels 384} {nEigen 1} } { 
    global TunitTXT 
    global ScreenResolutionX ScreenResolutionY 
    if { [info exists TunitTXT] != 1} {set TunitTXT ""} 
    if { [info exists ScreenResolutionX] != 1} {set ScreenResolutionX 1024} 
    if { [info exists ScreenResolutionY] != 1} {set ScreenResolutionY 768} 

    if {$xPixels == 0} { 
     set xPixels [expr int($ScreenResolutionX/2)];  
     set yPixels [expr int($ScreenResolutionY/2)]; 
     set xLoc 10 
     set yLoc 10 
    } 
    if {$ShapeType == "nill"} { 
     puts ""; puts ""; puts "------------------" 
     puts "View the Model? (N)odes, (D)eformedShape, anyMode(1),(2),(#). Press enter for NO." 
     gets stdin answer 
     if {[llength $answer]>0 } { 
      if {$answer != "N" & $answer != "n"} { 
       puts "Modify View Scaling Factor=$dAmp? Type factor, or press enter for NO." 
       gets stdin answerdAmp 
       if {[llength $answerdAmp]>0 } { 
        set dAmp $answerdAmp 
       } 
      } 
      if {[string index $answer 0] == "N" || [string index $answer 0] == "n"} { 
       set ShapeType NodeNumbers 
      } elseif {[string index $answer 0] == "D" ||[string index $answer 0] == "d" } { 
       set ShapeType DeformedShape 
      } else { 
       set ShapeType ModeShape 
       set nEigen $answer 
      } 
     } else { 
      return 
     } 
    } 

    if {$ShapeType == "ModeShape" } { 
     set lambdaN [eigen $nEigen];  # perform eigenvalue analysis for ModeShape 
     set lambda [lindex $lambdaN [expr $nEigen-1]]; 
     set omega [expr pow($lambda,0.5)] 
     set PI [expr 2*asin(1.0)];  # define constant 
     set Tperiod [expr 2*$PI/$omega];  # period (sec.) 
     set fmt1 "Mode Shape, Mode=%.1i Period=%.3f %s " 
     set windowTitle [format $fmt1 $nEigen $Tperiod $TunitTXT] 
    } elseif {$ShapeType == "NodeNumbers" } { 
     set windowTitle "Node Numbers" 
    } elseif {$ShapeType == "DeformedShape" } { 
     set windowTitle "Deformed Shape" 
    } 

    set viewPlane XY 
    recorder display $windowTitle $xLoc $yLoc $xPixels $yPixels -wipe ; # display recorder 
    DisplayPlane $ShapeType $dAmp $viewPlane $nEigen 0 
} 

font create myDefaultFont -family Helvetica -size 20 
option add *font myDefaultFont 

确实将设置默认字体对于添加到具有-font选项的小部件的所有文本。它不会更改在puts控制台上打印的文本的字体。从您发布的代码中显示文本的方式并不清楚,但如果您将标签的文本设置为应该使用所选字体显示的其中一个变量的值。

+0

谢谢彼得:)) –