📄 floatcanvas.py
字号:
Canvas = self.Canvas
Canvas.InitAll()
DefaultSize = 12
Point = (3, 0)
## Add a non-visible rectangle, just to get a Bounding Box
## Text objects have a zero-size bounding box, because it changes with zoom
Canvas.AddRectangle((-10,-10),
(20,20),
LineWidth = 1,
LineColor = None)
# Text
String = "Some text"
self.Canvas.AddText("Top Left",Point,Size = DefaultSize,Color = "Yellow",BackgroundColor = "Blue", Position = "tl")
self.Canvas.AddText("Bottom Left",Point,Size = DefaultSize,Color = "Cyan",BackgroundColor = "Black",Position = "bl")
self.Canvas.AddText("Top Right",Point,Size = DefaultSize,Color = "Black",BackgroundColor = "Cyan",Position = "tr")
self.Canvas.AddText("Bottom Right",Point,Size = DefaultSize,Color = "Blue",BackgroundColor = "Yellow",Position = "br")
Canvas.AddPointSet((Point), Color = "White", Diameter = 2)
Point = (3, 2)
Canvas.AddPointSet((Point), Color = "White", Diameter = 2)
self.Canvas.AddText("Top Center",Point,Size = DefaultSize,Color = "Black",Position = "tc")
self.Canvas.AddText("Bottom Center",Point,Size = DefaultSize,Color = "White",Position = "bc")
Point = (3, 4)
Canvas.AddPointSet((Point), Color = "White", Diameter = 2)
self.Canvas.AddText("Center Right",Point,Size = DefaultSize,Color = "Black",Position = "cr")
self.Canvas.AddText("Center Left",Point,Size = DefaultSize,Color = "Black",Position = "cl")
Point = (3, -2)
Canvas.AddPointSet((Point), Color = "White", Diameter = 2)
self.Canvas.AddText("Center Center",
Point, Size = DefaultSize,
Color = "Black",
Position = "cc")
self.Canvas.AddText("40 Pixels", (-10,8), Size = 40)
self.Canvas.AddText("20 Pixels", (-10,5), Size = 20)
self.Canvas.AddText("10 Pixels", (-10,3), Size = 10)
self.Canvas.AddText("MODERN Font", (-10, 0), Family = wx.MODERN)
self.Canvas.AddText("DECORATIVE Font", (-10, -1), Family = wx.DECORATIVE)
self.Canvas.AddText("ROMAN Font", (-10, -2), Family = wx.ROMAN)
self.Canvas.AddText("SCRIPT Font", (-10, -3), Family = wx.SCRIPT)
self.Canvas.AddText("ROMAN BOLD Font", (-10, -4), Family = wx.ROMAN, Weight=wx.BOLD)
self.Canvas.AddText("ROMAN ITALIC BOLD Font", (-10, -5), Family = wx.ROMAN, Weight=wx.BOLD, Style=wx.ITALIC)
# NOTE: this font exists on my Linux box..who knows were else you'll find it!
Font = wx.Font(20, wx.DEFAULT, wx.ITALIC, wx.NORMAL, False, "helvetica")
self.Canvas.AddText("Helvetica Italic", (-10, -6), Font = Font)
self.Canvas.ZoomToBB()
def TestScaledText(self, event= None):
wx.GetApp().Yield(True)
self.BindAllMouseEvents()
Canvas = self.Canvas
Canvas.InitAll()
Point = (0, 0)
T = Canvas.AddScaledText("Top Left",
Point,
Size = 5,
Color = "Yellow",
BackgroundColor = "Blue",
Position = "tl")
T = Canvas.AddScaledText("Bottom Left",Point,Size = 5,Color = "Cyan",BackgroundColor = "Black",Position = "bl")
T = Canvas.AddScaledText("Top Right",Point,Size = 5,Color = "Black",BackgroundColor = "Cyan",Position = "tr")
T = Canvas.AddScaledText("Bottom Right",Point,Size = 5,Color = "Blue",BackgroundColor = "Yellow",Position = "br")
Canvas.AddPointSet((Point), Color = "Red", Diameter = 4)
Point = (0, 20)
Canvas.AddScaledText("Top Center",Point,Size = 7,Color = "Black",Position = "tc")
Canvas.AddScaledText("Bottom Center",Point,Size = 7,Color = "White",Position = "bc")
Canvas.AddPointSet((Point), Color = "White", Diameter = 4)
Point = (0, -20)
Canvas.AddScaledText("Center Right",Point,Size = 9,Color = "Black",Position = "cr")
Canvas.AddScaledText("Center Left",Point,Size = 9,Color = "Black",Position = "cl")
Canvas.AddPointSet((Point), Color = "White", Diameter = 4)
x = -200
self.Canvas.AddScaledText("MODERN Font", (x, 0), Size = 7, Family = wx.MODERN, Color = (0,0,0))
self.Canvas.AddScaledText("DECORATIVE Font", (x, -10), Size = 7, Family = wx.DECORATIVE, Color = (0,0,1))
self.Canvas.AddScaledText("ROMAN Font", (x, -20), Size = 7, Family = wx.ROMAN)
self.Canvas.AddScaledText("SCRIPT Font", (x, -30), Size = 7, Family = wx.SCRIPT)
self.Canvas.AddScaledText("ROMAN BOLD Font", (x, -40), Size = 7, Family = wx.ROMAN, Weight=wx.BOLD)
self.Canvas.AddScaledText("ROMAN ITALIC BOLD Font", (x, -50), Size = 7, Family = wx.ROMAN, Weight=wx.BOLD, Style=wx.ITALIC)
Canvas.AddPointSet((x,0), Color = "White", Diameter = 4)
# NOTE: this font exists on my OS-X.who knows were else you'll find it!
Point = (-100, 50)
Font = wx.Font(12, wx.DEFAULT, wx.ITALIC, wx.NORMAL, False, "helvetica")
T = self.Canvas.AddScaledText("Helvetica Italic", Point, Size = 20, Font = Font, Position = 'bc')
Point = (-50, -50)
Font = wx.Font(12, wx.DEFAULT, wx.ITALIC, wx.NORMAL, False, "times")
T = self.Canvas.AddScaledText("Times Font", Point, Size = 8, Font = Font)
self.Canvas.ZoomToBB()
def TestScaledTextBox(self, event= None):
wx.GetApp().Yield(True)
self.UnBindAllMouseEvents()
Canvas = self.Canvas
Canvas.InitAll()
Point = (45,40)
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2,
Color = "Black",
BackgroundColor = None,
LineColor = "Red",
LineStyle = "Solid",
LineWidth = 1,
Width = None,
PadSize = 5,
Family = wx.ROMAN,
Style = wx.NORMAL,
Weight = wx.NORMAL,
Underlined = False,
Position = 'br',
Alignment = "left",
InForeground = False)
# All defaults
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2)
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2,
BackgroundColor = "Yellow",
LineColor = "Red",
LineStyle = "Solid",
PadSize = 5,
Family = wx.TELETYPE,
Position = 'bl')
Box = Canvas.AddScaledTextBox("A String\nThis box is clickable",
Point,
2,
BackgroundColor = "Yellow",
LineColor = "Red",
LineStyle = "Solid",
PadSize = 5,
Family = wx.TELETYPE,
Position = 'tr')
Box.Bind(FloatCanvas.EVT_FC_LEFT_DOWN, self.binding2)
Canvas.AddPoint(Point, Diameter = 4)
Point = (45,15)
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2,
Color = "Black",
BackgroundColor = 'Red',
LineColor = "Blue",
LineStyle = "LongDash",
LineWidth = 2,
Width = None,
PadSize = 5,
Family = wx.TELETYPE,
Style = wx.NORMAL,
Weight = wx.NORMAL,
Underlined = False,
Position = 'cr',
Alignment = "left",
InForeground = False)
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
1.5,
Color = "Black",
BackgroundColor = 'Red',
LineColor = "Blue",
LineStyle = "LongDash",
LineWidth = 2,
Width = None,
PadSize = 5,
Family = wx.TELETYPE,
Style = wx.NORMAL,
Weight = wx.NORMAL,
Underlined = False,
Position = 'cl',
Alignment = "left",
InForeground = False)
Canvas.AddPoint(Point, Diameter = 4)
Point = (45,-10)
Box = Canvas.AddScaledTextBox("A Two Line\nString",
Point,
2,
Color = "Black",
BackgroundColor = 'Red',
LineColor = "Blue",
LineStyle = "LongDash",
LineWidth = 2,
Width = None,
PadSize = 3,
Family = wx.TELETYPE,
Style = wx.NORMAL,
Weight = wx.NORMAL,
Underlined = False,
Position = 'tc',
Alignment = "left",
InForeground = False)
Box = Canvas.AddScaledTextBox("A three\nLine\nString",
Point,
1.5,
Color = "Black",
BackgroundColor = 'Red',
LineColor = "Blue",
LineStyle = "LongDash",
LineWidth = 2,
Width = None,
PadSize = 0.5,
Family = wx.TELETYPE,
Style = wx.NORMAL,
Weight = wx.NORMAL,
Underlined = False,
Position = 'bc',
Alignment = "left",
InForeground = False)
Canvas.AddPoint(Point, Diameter = 4)
Box = Canvas.AddScaledTextBox("Some Auto Wrapped Text. There is enough to do.",
(80,40),
2,
BackgroundColor = 'White',
LineWidth = 2,
Width = 20,
PadSize = 0.5,
Family = wx.TELETYPE,
)
Box = Canvas.AddScaledTextBox("Some more auto wrapped text. Wrapped to a different width.\n\nThis is another paragraph.",
(80,20),
2,
BackgroundColor = 'White',
LineWidth = 2,
Width = 40,
PadSize = 0.5,
Family = wx.ROMAN,
Alignment = "right"
)
Point = N.array((100, -20), N.float_)
Box = Canvas.AddScaledTextBox("Here is even more auto wrapped text. This time the line spacing is set to 0.8. \n\nThe Padding is set to 0.",
Point,
Size = 3,
BackgroundColor = 'White',
LineWidth = 1,
Width = 40,
PadSize = 0.0,
Family = wx.ROMAN,
Position = "cc",
LineSpacing = 0.8
)
Canvas.AddPoint(Point, "Red", 2)
Point = N.array((0, -40), N.float_)
# Point = N.array((0, 0), N.float_)
for Position in ["tl", "bl", "tr", "br"]:
# for Position in ["br"]:
Box = Canvas.AddScaledTextBox("Here is a\nfour liner\nanother line\nPosition=%s"%Position,
Point,
Size = 4,
Color = "Red",
BackgroundColor = None,#'LightBlue',
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -