2016-04-25 2 views
0

Ich bin nicht sehr gut in Tcl, aber ich verwende diesen Code, um einige Systeme zu visualisieren. Kann jemand mir helfen, die Standardschriftart des Erzeugnisses dieses Codes unten zu ändern?Wie ändere ich Tcl Standard Schriftgröße

Ich habe versucht, diese an die Spitze des Codes zu setzen, aber es hat nicht funktioniert:

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

Hier ist der Code:

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 
} 

Antwort

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

wird in der Tat die Standardschriftart festgelegt für alle Texte, die Widgets mit einer Option -font hinzugefügt wurden. Es ändert nicht die Schriftart des Textes, der auf der Konsole mit puts gedruckt wird. Aus dem Code, den Sie gepostet haben, ist nicht ersichtlich, wie Ihr Text angezeigt wird, aber wenn Sie z. Setzen Sie den Text einer Beschriftung auf den Wert einer Ihrer Variablen, der mit der ausgewählten Schriftart angezeigt werden soll.

+0

Danke Peter :)) –