免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1985 | 回复: 0
打印 上一主题 下一主题

进行桌面程序开发(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-18 15:29 |只看该作者 |倒序浏览
使用python进行桌面程序开发(二)




使用基本的控件工作

静态文本控件

大概对于所有的UI 工具来说,最基本的任务就是在屏幕上绘制纯文本。在wxPython 中,使用类wx.StaticText 来完成。



废话先不说,给出代码:

  1. # -*- coding: GBK -*-
  2. import wx

  3. class StaticTextFrame(wx.Frame):
  4.     def __init__(self):
  5.         wx.Frame.__init__(self, None, -1, '显示静态文本',
  6.                 size=(400, 300))
  7.         panel = wx.Panel(self, -1)

  8.         # 这是一个基本的静态文本
  9.         wx.StaticText(panel, -1, "这是一个基本的静态文本",
  10.                 (100, 10))

  11.         # 指定了前景色和背景色的静态文本
  12.         rev = wx.StaticText(panel, -1, "指定了前景色和背景色的静态文本",
  13.                 (100, 30))
  14.         rev.SetForegroundColour('white')
  15.         rev.SetBackgroundColour('black')

  16.         # 指定居中对齐的的静态文本
  17.         center = wx.StaticText(panel, -1, "居中,白字,黑色背景", (100, 50),
  18.                 (160, -1), wx.ALIGN_CENTER)
  19.         center.SetForegroundColour('white')
  20.         center.SetBackgroundColour('black')

  21.         # 指定右对齐的静态文本
  22.         right = wx.StaticText(panel, -1, "文本右对齐", (100, 70),
  23.                 (160, -1), wx.ALIGN_RIGHT)
  24.         right.SetForegroundColour('white')
  25.         right.SetBackgroundColour('black')

  26.         # 指定新字体的静态文本
  27.         str = "You can also change the font."
  28.         text = wx.StaticText(panel, -1, str, (20, 100))
  29.         font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
  30.         text.SetFont(font)

  31.         # 显示多行文本
  32.         wx.StaticText(panel, -1, "你的文本\n可以分成"
  33.                       "多行显示,\n牛逼不?", (20,150))

  34.         #显示对齐的多行文本
  35.         wx.StaticText(panel, -1, "你的文本\n可以分成"
  36.                       "多行显示\n牛逼不?\n还可以设置字体和对齐?", (220,150),
  37.                 style=wx.ALIGN_RIGHT)


  38. if __name__ == '__main__':
  39.     app = wx.PySimpleApp()
  40.     frame = StaticTextFrame()
  41.     frame.Show()

  42.     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的文本内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP