PyGTK - Classe Ruler
Esta é uma classe base para réguas horizontais (gtk.Hruler) e verticais (gtk.Vruler) que são úteis para mostrar a posição do ponteiro do mouse na janela. Um pequeno triângulo na régua indica a localização do ponteiro.
Objetos de régua são criados com seus respectivos construtores -
hrule = gtk.Hruler()
vrule = gtk.Vruler()
Os seguintes métodos da classe gtk.Ruler estão disponíveis para ambas as classes derivadas -
Ruler.set_metric () - Isso define a unidade de medida. As constantes métricas predefinidas são: gtk.PIXELS (padrão), gtk.INCHES e gtk.CENTIMETERS
Ruler.set_range () - Define os limites inferior e superior, a posição e o tamanho máximo da régua.
No exemplo abaixo, as réguas horizontais e verticais são colocadas acima e à esquerda de um widget gtk.TextView.
A medida da régua horizontal é em pixels. Seus valores mínimo e máximo são 0 e 400, respectivamente. Ele é colocado na linha superior de um gtk.VBox.
hrule = gtk.HRuler()
hrule.set_metric(gtk.PIXELS)
hrule.set_range(0, 4,0,0.5)
vbox.pack_start(hrule)
A linha inferior do Vbox contém um HBox. Uma régua vertical e um widget TextView, nos quais um texto de várias linhas pode ser inserido, são empacotados.
vrule=gtk.VRuler()
vrule.set_metric(gtk.PIXELS)
vrule.set_range(0, 4, 10, 0.5)
hbox.pack_start(vrule)
Exemplo
Observe o seguinte código -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Ruler demo")
self.set_size_request(400,400)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox()
tv = gtk.TextView()
tv.set_size_request(350,350)
hrule = gtk.HRuler()
hrule.set_metric(gtk.PIXELS)
hrule.set_range(0, 4,0,0.5)
vbox.pack_start(hrule)
hbox = gtk.HBox()
vrule = gtk.VRuler()
vrule.set_metric(gtk.PIXELS)
vrule.set_range(0, 4, 10, 0.5)
hbox.pack_start(vrule)
halign = gtk.Alignment(0.5, 0.5, 0, 0)
halign.add(tv)
hbox.pack_start(halign, False, True, 10)
vbox.add(hbox)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
A saída gerada pelo programa acima se assemelha a um documento do MS Word -