使用基本的控件工作
靜態文本控件
大概對于所有的UI 工具來說,最基本的任務就是在屏幕上繪制純文本。在wxPython 中,使用類wx.StaticText 來完成。
廢話先不說,給出代碼:
我在這里遇到了編輯器中不能保存中文字符的問題,在第一行加上:# -*- coding: GBK -*-
就可以使用中文字符了。
下面詳細分析代碼
類StaticTextFrame為主窗口,在Python中稱為Frame(框架)。他繼承與wx.Frame
__init__函數為每個類的初始化函數,在類被初始化的時候自動觸發。
wx.Frame.__init__(self, None, -1, '顯示靜態文本', size=(400, 300))
Frame的參數形式為:(self,parent,id,title,pos,size,style,name)
self
parent-該控件的父控件,即該控件存在于哪個子控件中
id-控件的id,實際開發過程中最好設置一個,便于在各類間進行操作
title-Frame標題欄中的文本
pos-控件所在位置,以坐標的形式表示,如:(10,10)
size-控件的大小,以長寬的形式表示:(100,30)
style-控件的樣式,可以設置多個,用豎線(|)分開
name-控件的名稱,用于查找的需要。
style參數的可用類型:
ALIGN_NOT
ALIGN_CENTER_HORIZONTAL
ALIGN_CENTRE_HORIZONTAL
ALIGN_LEFT
ALIGN_TOP
ALIGN_RIGHT
ALIGN_BOTTOM
ALIGN_CENTER_VERTICAL
ALIGN_CENTRE_VERTICAL
ALIGN_CENTER
ALIGN_CENTRE
ALIGN_MASK
wx.StaticText控件的參數:(self,parent,id,label,pos,size,style, name)
除label之外,其他參數和Frame控件相同
靜態文本控件
大概對于所有的UI 工具來說,最基本的任務就是在屏幕上繪制純文本。在wxPython 中,使用類wx.StaticText 來完成。
廢話先不說,給出代碼:
# -*- coding: GBK -*-
import wx
class StaticTextFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, '顯示靜態文本',
size=(400, 300))
panel = wx.Panel(self, -1)
# 這是一個基本的靜態文本
wx.StaticText(panel, -1, "這是一個基本的靜態文本",
(100, 10))
# 指定了前景色和背景色的靜態文本
rev = wx.StaticText(panel, -1, "指定了前景色和背景色的靜態文本",
(100, 30))
rev.SetForegroundColour('white')
rev.SetBackgroundColour('black')
# 指定居中對齊的的靜態文本
center = wx.StaticText(panel, -1, "居中,白字,黑色背景", (100, 50),
(160, -1), wx.ALIGN_CENTER)
center.SetForegroundColour('white')
center.SetBackgroundColour('black')
# 指定右對齊的靜態文本
right = wx.StaticText(panel, -1, "文本右對齊", (100, 70),
(160, -1), wx.ALIGN_RIGHT)
right.SetForegroundColour('white')
right.SetBackgroundColour('black')
# 指定新字體的靜態文本
str = "You can also change the font."
text = wx.StaticText(panel, -1, str, (20, 100))
font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
text.SetFont(font)
# 顯示多行文本
wx.StaticText(panel, -1, "你的文本\n可以分成"
"多行顯示,\n牛逼不?", (20,150))
#顯示對齊的多行文本
wx.StaticText(panel, -1, "你的文本\n可以分成"
"多行顯示\n牛逼不?\n還可以設置字體和對齊?", (220,150),
style=wx.ALIGN_RIGHT)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = StaticTextFrame()
frame.Show()
import wx
class StaticTextFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, '顯示靜態文本',
size=(400, 300))
panel = wx.Panel(self, -1)
# 這是一個基本的靜態文本
wx.StaticText(panel, -1, "這是一個基本的靜態文本",
(100, 10))
# 指定了前景色和背景色的靜態文本
rev = wx.StaticText(panel, -1, "指定了前景色和背景色的靜態文本",
(100, 30))
rev.SetForegroundColour('white')
rev.SetBackgroundColour('black')
# 指定居中對齊的的靜態文本
center = wx.StaticText(panel, -1, "居中,白字,黑色背景", (100, 50),
(160, -1), wx.ALIGN_CENTER)
center.SetForegroundColour('white')
center.SetBackgroundColour('black')
# 指定右對齊的靜態文本
right = wx.StaticText(panel, -1, "文本右對齊", (100, 70),
(160, -1), wx.ALIGN_RIGHT)
right.SetForegroundColour('white')
right.SetBackgroundColour('black')
# 指定新字體的靜態文本
str = "You can also change the font."
text = wx.StaticText(panel, -1, str, (20, 100))
font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
text.SetFont(font)
# 顯示多行文本
wx.StaticText(panel, -1, "你的文本\n可以分成"
"多行顯示,\n牛逼不?", (20,150))
#顯示對齊的多行文本
wx.StaticText(panel, -1, "你的文本\n可以分成"
"多行顯示\n牛逼不?\n還可以設置字體和對齊?", (220,150),
style=wx.ALIGN_RIGHT)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = StaticTextFrame()
frame.Show()
app.MainLoop()
我在這里遇到了編輯器中不能保存中文字符的問題,在第一行加上:# -*- coding: GBK -*-
就可以使用中文字符了。
下面詳細分析代碼
類StaticTextFrame為主窗口,在Python中稱為Frame(框架)。他繼承與wx.Frame
__init__函數為每個類的初始化函數,在類被初始化的時候自動觸發。
wx.Frame.__init__(self, None, -1, '顯示靜態文本', size=(400, 300))
Frame的參數形式為:(self,parent,id,title,pos,size,style,name)
self
parent-該控件的父控件,即該控件存在于哪個子控件中
id-控件的id,實際開發過程中最好設置一個,便于在各類間進行操作
title-Frame標題欄中的文本
pos-控件所在位置,以坐標的形式表示,如:(10,10)
size-控件的大小,以長寬的形式表示:(100,30)
style-控件的樣式,可以設置多個,用豎線(|)分開
name-控件的名稱,用于查找的需要。
style參數的可用類型:
ALIGN_NOT
ALIGN_CENTER_HORIZONTAL
ALIGN_CENTRE_HORIZONTAL
ALIGN_LEFT
ALIGN_TOP
ALIGN_RIGHT
ALIGN_BOTTOM
ALIGN_CENTER_VERTICAL
ALIGN_CENTRE_VERTICAL
ALIGN_CENTER
ALIGN_CENTRE
ALIGN_MASK
wx.StaticText控件的參數:(self,parent,id,label,pos,size,style, name)
除label之外,其他參數和Frame控件相同
label-StatixText的文本內容
更多信息請訪問www.njxsw.com
浙公網安備 33010602011771號