pygtk-TextView

textview = gtk.TextView(buffer=None)

textview.set_buffer(buffer)

buffer = textview.get_buffer()

textview.set_editable(setting)

setting = textview.get_editable()

textview.set_cursor_visible(setting)

textview.set_wrap_mode(wrap_mode)

其中,wrap_mode如下:

gtk.WRAP_NONE
gtk.WRAP_CHAR
gtk.WRAP_WORD

textview.set_justification(justification)

justification = textview.get_justification()或如下:

gtk.JUSTIFY_LEFT
gtk.JUSTIFY_RIGHT
gtk.JUSTIFY_CENTER

=============

如:

textview.set_left_margin(left_margin)
left_margin = textview.get_left_margin()
textview.set_right_margin(right_margin)
right_margin = textview.get_right_margin()
textview.set_indent(indent)
indent = textview.get_indent()
textview.set_pixels_above_lines(pixels_above_line)
pixels_above_line = textview.get_pixels_above_lines()
textview.set_pixels_below_lines(pixels_below_line)
pixels_below_line = textview.get_pixels_below_lines()
textview.set_pixels_inside_wrap(pixels_inside_wrap)
pixels_inside_wrap = textview.get_pixels_inside_wrap()
textview.set_tabs(tabs)
tabs = textview.get_tabs()







 

#!/usr/bin/env python

# example textview-basic.py

import pygtk
pygtk.require('2.0')
import gtk

class TextViewExample:
	def toggle_editable(self, checkbutton, textview):
		textview.set_editable(checkbutton.get_active())
	def toggle_cursor_visible(self, checkbutton, textview):
		textview.set_cursor_visible(checkbutton.get_active())
	
	def toggle_left_margin(self, checkbutton, textview):
		if checkbutton.get_active():
			textview.set_left_margin(50)
		else:
			textview.set_left_margin(0)
	
	def toggle_right_margin(self, checkbutton, textview):
		if checkbutton.get_active():
			textview.set_right_margin(50)
		else:
			textview.set_right_margin(0)
	
	def new_wrap_mode(self, radiobutton, textview, val):
		if radiobutton.get_active():
			textview.set_wrap_mode(val)
	
	def new_justification(self, radiobutton, textview, val):
		if radiobutton.get_active():
			textview.set_justification(val)
	
	def close_application(self, widget):
		gtk.main_quit()
	def __init__(self):
		window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		window.set_resizable(True)
		window.connect("destroy", self.close_application)
		window.set_title("TextView Widget Basic Example")
		window.set_border_width(0)
		
		box1 = gtk.VBox(False, 0)
		window.add(box1)
		box1.show()
		
		box2 = gtk.VBox(False, 10)
		box2.set_border_width(10)
		box1.pack_start(box2, True, True, 0)
		box2.show()
		
		sw = gtk.ScrolledWindow()
		sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
		textview = gtk.TextView()
		textbuffer = textview.get_buffer()
		sw.add(textview)
		sw.show()
		textview.show()
		
		box2.pack_start(sw)
		# Load the file textview-basic.py into the text window
		infile = open("test.py", "r")
		if infile:
			string = infile.read()
			infile.close()
			textbuffer.set_text(string)
	
		hbox = gtk.HButtonBox()
		box2.pack_start(hbox, False, False, 0)
		hbox.show()
		
		vbox = gtk.VBox()
		vbox.show()
		hbox.pack_start(vbox, False, False, 0)
		# check button to toggle editable mode
		check = gtk.CheckButton("Editable")
		vbox.pack_start(check, False, False, 0)
		check.connect("toggled", self.toggle_editable, textview)
		check.set_active(True)
		check.show()
		# check button to toggle cursor visiblity
		check = gtk.CheckButton("Cursor Visible")
		vbox.pack_start(check, False, False, 0)
		check.connect("toggled", self.toggle_cursor_visible, textview)
		check.set_active(True)
		check.show()
		# check button to toggle left margin
		check = gtk.CheckButton("Left Margin")
		vbox.pack_start(check, False, False, 0)
		check.connect("toggled", self.toggle_left_margin, textview)
		check.set_active(False)
		check.show()
		# check button to toggle right margin
		check = gtk.CheckButton("Right Margin")
		vbox.pack_start(check, False, False, 0)
		check.connect("toggled", self.toggle_right_margin, textview)
		check.set_active(False)
		check.show()
		# radio buttons to specify wrap mode
		vbox = gtk.VBox()
		vbox.show()
		hbox.pack_start(vbox, False, False, 0)
		radio = gtk.RadioButton(None, "WRAP__NONE")
		vbox.pack_start(radio, False, True, 0)

		radio.connect("toggled", self.new_wrap_mode, textview, gtk.WRAP_NONE)
		radio.set_active(True)
		radio.show()
		radio = gtk.RadioButton(radio, "WRAP__CHAR")
		vbox.pack_start(radio, False, True, 0)
		
		radio.connect("toggled", self.new_wrap_mode, textview, gtk.WRAP_CHAR)
		radio.show()
		radio = gtk.RadioButton(radio, "WRAP__WORD")
		vbox.pack_start(radio, False, True, 0)	
		radio.show()
		# radio buttons to specify justification
		vbox = gtk.VBox()
		vbox.show()
		hbox.pack_start(vbox, False, False, 0)
		radio = gtk.RadioButton(None, "JUSTIFY__LEFT")
		vbox.pack_start(radio, False, True, 0)
		radio.connect("toggled", self.new_justification, textview,
		gtk.JUSTIFY_LEFT)
		radio.set_active(True)
		radio.show()
		radio = gtk.RadioButton(radio, "JUSTIFY__RIGHT")
		vbox.pack_start(radio, False, True, 0)
		radio.connect("toggled", self.new_justification, textview,
		gtk.JUSTIFY_RIGHT)
		radio.show()
		radio = gtk.RadioButton(radio, "JUSTIFY__CENTER")
		vbox.pack_start(radio, False, True, 0)
		radio.connect("toggled", self.new_justification, textview,
		gtk.JUSTIFY_CENTER)
		radio.show()
		
		separator = gtk.HSeparator()
		box1.pack_start(separator, False, True, 0)
		separator.show()
		
		box2 = gtk.VBox(False, 10)
		box2.set_border_width(10)
		box1.pack_start(box2, False, True, 0)
		box2.show()
		button = gtk.Button("close")
		button.connect_object("clicked", gtk.Widget.destroy,window)
		box2.pack_start(button, True, True, 0)
		button.set_flags(gtk.CAN_DEFAULT)
		button.grab_default()
		button.show()
		window.show()		
def main():
	gtk.main()
	return 0

if __name__ == "__main__":
	TextViewExample()
	main()		

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值