pygtk-Frames

框架 Frames
框架(Frames)可以用于在盒子中封装一个或一组构件,框架本身还可以有一个标签。标签的位置和盒子的风格可以灵活改变。

框架可以用下面的函数创建:

GtkWidget *gtk_frame_new( const gchar *label );

标签缺省放在框架的左上角。传递NULL值作为label参数时,框架不显示标签。标签文本可以用下面的函数改变。

void gtk_frame_set_label( GtkFrame    *frame,
                          const gchar *label );

标签的位置可以用下面的函数改变:

void gtk_frame_set_label_align( GtkFrame *frame,
                                gfloat    xalign,
                                gfloat    yalign );

xalign和yalign参数取值范围介于0.0和1.0之间。xalign指定标签在框架构件上部水平线上的位置。yalign目前还没有被使用。xalign的缺省值是0.0,它将标签放在框架构件的最左端。

下面的函数改变盒子的风格,用于显示框架的轮廓。

void gtk_frame_set_shadow_type( GtkFrame      *frame,
                                GtkShadowType  type);

type参数可以取以下值之一:

  GTK_SHADOW_NONE
  GTK_SHADOW_IN
  GTK_SHADOW_OUT
  GTK_SHADOW_ETCHED_IN (缺省值)
  GTK_SHADOW_ETCHED_OUT

pygtk-Frames

 

#!/usr/bin/env python

# example frame.py

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

class FrameExample:
	def __init__(self):
	 # Create a new window
			window = gtk.Window(gtk.WINDOW_TOPLEVEL)
			window.set_title("Frame Example")

			# Here we connect the "destroy" event to a signal handler
			window.connect("destroy", lambda w: gtk.main_quit())
			window.set_size_request(300, 300)

			# Sets the border width of the window.
			window.set_border_width(10)

			# Create a Frame
			frame = gtk.Frame()
			window.add(frame)

			# Set the frame’s label
			frame.set_label("GTK Frame Widget")

			# Align the label at the right of the frame
			frame.set_label_align(1.0, 0.0)

			# Set the style of the frame
			frame.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
			frame.show()

			# Display the window
			window.show()

def main():
# Enter the event loop
        gtk.main()
        return 0

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

 

你可能感兴趣的:(frame)