pygtk-TextView

系统 1811 0

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()






pygtk-TextView
 

    #!/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()		

  

 

 

pygtk-TextView


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论