wxPython实现文本框基础组件


Posted in Python onNovember 18, 2019

本文实例为大家分享了wxPython实现文本框的具体代码,供大家参考,具体内容如下

#-*- coding:utf-8 -*-
"""
#############################################
StaticText 参数说明 --即 label
parent: -- 父窗口部件。
id: -- 标识符。使用-1可以自动创建一个唯一的标识。
label: -- 你想显示在静态控件中的文本。
pos: -- 一个wx.Point或一个Python元组,它是窗口部件的位置。
size: -- 一个wx.Size或一个Python元组,它是窗口部件的尺寸。
style: -- 样式标记。
name: -- 对象的名字,用于查找的需要。
----------------------------------------------
style -- 对齐参数
ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,
ST_NO_AUTORESIZE: -- 静态文本控件不将自我调整尺寸
#############################################
创建一个字体
wx.Font(pointSize, family, style, weight, underline=False, faceName="", encoding=wx.FONTENCODING_DEFAULT)
family -- 参数说明
wx.DECORATIVE:一个正式的,老的英文样式字体。
wx.DEFAULT:系统默认字体。
wx.MODERN:一个单间隔(固定字符间距)字体。
wx.ROMAN:serif字体,通常类似于Times New Roman。
wx.SCRIPT:手写体或草写体
wx.SWISS:sans-serif字体,通常类似于Helvetica或Arial。
style -- 参数说明 wx.NORMAL, wx.SLANT, wx.ITALIC
weight -- 参数说明 wx.NORMAL, wx.LIGHT, wx.BOLD
#############################################
input与textArea 参数说明
单行样式
wx.TE_CENTER:控件中的文本居中。
wx.TE_LEFT:控件中的文本左对齐。默认行为。
wx.TE_NOHIDESEL:文本始终高亮显示,只适用于Windows。
wx.TE_PASSWORD:不显示所键入的文本,代替以星号显示。
wx.TE_PROCESS_ENTER:如果使用了这个样式,那么当用户在控件内按下回车键时,一个文本输入事件被触发。否则,按键事件内在的由该文本控件或该对话框管理。
wx.TE_PROCESS_TAB:如果指定了这个样式,那么通常的字符事件在Tab键按下时创建(一般意味一个制表符将被插入文本)。否则,tab由对话框来管理,通常是控件间的切换。
wx.TE_READONLY:文本控件为只读,用户不能修改其中的文本。
wx.TE_RIGHT:控件中的文本右对齐。
----------------------------------------------
多单行样式
wx.HSCROLL:如果文本控件是多行的,并且如果该样式被声明了,那么长的行将不会自动换行,并显示水平滚动条。该选项在GTK+中被忽略。
wx.TE_AUTO_URL:如果丰富文本选项被设置并且平台支持的话,那么当用户的鼠标位于文本中的一个URL上或在该URL上敲击时,这个样式将导致一个事件被生成。
wx.TE_DONTWRAP:wx.HSCROLL的别名。
wx.TE_LINEWRAP:对于太长的行,以字符为界换行。某些操作系统可能会忽略该样式。
wx.TE_MULTILINE:文本控件将显示多行。
wx.TE_RICH:用于Windows下,丰富文本控件用作基本的窗口部件。这允许样式文本的使用。
wx.TE_RICH2:用于Windows下,把最新版本的丰富文本控件用作基本的窗口部件。
wx.TE_WORDWRAP:对于太长的行,以单词为界换行。许多操作系统会忽略该样式。
----------------------------------------------
动态修改文本内容
AppendText(text):在尾部添加文本。
Clear():重置控件中的文本为“”。并且生成一个文本更新事件。
EmulateKeyPress(event):产生一个按键事件,插入与事件相关联的控制符,就如同实际的按键发生了。
GetInsertionPoint() SetInsertionPoint(pos) SetInsertionPointEnd():得到或设置插入点的位置,位置是整型的索引值。控件的开始位置是0。
GetRange(from, to):返回控件中位置索引范围内的字符串。
GetSelection() GetStringSelection() SetSelection(from, to):
GetSelection()以元组的形式返回当前所选择的文本的起始位置的索引值(开始,结束)。
GetStringSelection()得到所选择的字符串。
SetSelection(from, to)设置选择的文本。
GetValue() SetValue(value):SetValue()改变控件中的全部文本。GetValue()返回控件中所有的字符串。
Remove(from, to):删除指定范围的文本。
Replace(from, to, value):用给定的值替换掉指定范围内的文本。这可以改变文本的长度。
WriteText(text):类似于AppendText(),只是写入的文本被放置在当前的插入点。
"""
 
__author__ = 'pc'
import wx
 
 
class StaticTextFrame(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, -1, u'这是Static Text Example', size=(400, 300))
 
    box_sizer = wx.WrapSizer()
    self.SetAutoLayout(True)
    self.SetSizer(box_sizer)
 
    ########## Label ##########
    static_text = wx.StaticText(self, -1, u'这是个Label', style=wx.ALIGN_CENTER)
    static_text.SetForegroundColour('red') #颜色
    wx_font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
    static_text.SetFont(wx_font)
    box_sizer.Add(static_text)
 
    ########## 单行文本框 ##########
    input_text = wx.TextCtrl(self, -1, u'input', size=(175, -1))
    input_text.SetInsertionPoint(0)
    box_sizer.Add(input_text)
 
    ########## 多行文本框 ##########
    self.area_text = wx.TextCtrl(self, -1, u'textArea多行文本,可Ctrl+A', size=(200, 100),
                   style=(wx.TE_MULTILINE | wx.TE_AUTO_SCROLL | wx.TE_DONTWRAP))
    self.area_text.SetInsertionPoint(0)
    self.area_text.Bind(wx.EVT_KEY_UP, self.OnSelectAll)
    box_sizer.Add(self.area_text)
 
 
    ########## 富文本框 ##########
    self.rich_text = wx.TextCtrl(self, -1, u'rich富文本', size=(200, 100),
                   style=(wx.TE_MULTILINE | wx.TE_AUTO_SCROLL | wx.TE_DONTWRAP | wx.TE_RICH2))
    self.rich_text.SetInsertionPoint(0)
    #设置文本样式 len(rich_text.GetValue())
    f = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.BOLD, True) #创建一个字体
    self.rich_text.SetStyle(0, self.rich_text.GetLastPosition(), wx.TextAttr("red", "green", f))
 
    box_sizer.Add(self.rich_text)
 
  #自定义 多行文本框 全选
  def OnSelectAll(self, event):
    if (event.GetKeyCode() == 65 and event.ControlDown()):
      self.area_text.SelectAll()
 
 
if __name__ == '__main__':
  root = wx.App()
  frame = StaticTextFrame()
  frame.Show()
  root.MainLoop()

wxPython实现文本框基础组件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
python操作摄像头截图实现远程监控的例子
Mar 25 Python
使用Python编写Linux系统守护进程实例
Feb 03 Python
python通过pil将图片转换成黑白效果的方法
Mar 16 Python
Python基础之getpass模块详细介绍
Aug 10 Python
Python3实现购物车功能
Apr 18 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
Python实现的多进程和多线程功能示例
May 29 Python
Python切片操作深入详解
Jul 27 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
python如何调用字典的key
May 25 Python
WxPython实现无边框界面
Nov 18 #Python
python中的RSA加密与解密实例解析
Nov 18 #Python
wxpython绘制圆角窗体
Nov 18 #Python
wxpython绘制音频效果
Nov 18 #Python
python导入不同目录下的自定义模块过程解析
Nov 18 #Python
解决django model修改添加字段报错的问题
Nov 18 #Python
python sorted方法和列表使用解析
Nov 18 #Python
You might like
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
python opencv之SIFT算法示例
2018/02/24 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
澳洲的服装老品牌:SABA
2018/02/06 全球购物
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
PHP面试题集
2016/12/18 面试题
网上快餐厅创业计划书
2014/02/01 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
医院营销工作计划
2015/01/16 职场文书
公务员个人总结
2015/02/12 职场文书
2015大学迎新标语
2015/07/16 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
Redis入门教程详解
2021/08/30 Redis