示例#1
0
# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; indent-offset: 4 -*-
import roslib; roslib.load_manifest('rosgobject')

import std_msgs.msg
import rosgobject

class UI:
    def __init__(self):
        self._sub = rosgobject.Subscriber("/testnode/string",std_msgs.msg.String)
        self._sub.connect("message", self._on_message)

    def _on_message(self, sub, msg):
        print msg.data

if __name__ == "__main__":
    rosgobject.init_node("testminimal")
    u = UI()
    rosgobject.spin()

示例#2
0
import sys
import random

from gi.repository import Gtk

import rosgobject
from rosgobject.gtk import UpdateableGtkSpinButton, UpdateableGtkSwitch

def _clicked_change_sb(btn,_sb):
    _sb.set_value(10 + random.random()*10)
def _clicked_change_sw(btn,_sw):
    _sw.set_active(random.randint(0,1) == 1)

if __name__ == "__main__":

    rosgobject.init_node("testupdateable")

    w = Gtk.Window()
    w.connect("delete-event", rosgobject.main_quit)
    g = Gtk.Grid()
    w.add(g)

    sb = UpdateableGtkSpinButton.new_with_range(10,30,1)
    sb.connect("value-changed", lambda *args: sys.stdout.write("sb changed\n"))
    b = Gtk.Button("<-- Random Change")
    b.connect("clicked", _clicked_change_sb, sb)
    g.add(sb)
    g.add(b)

    sw = UpdateableGtkSwitch()
    sw.connect("notify::active", lambda *args: sys.stdout.write("sw changed\n"))
示例#3
0
# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; indent-offset: 4 -*-
import roslib
roslib.load_manifest('rosgobject')

import std_msgs.msg
import rosgobject


class UI:
    def __init__(self):
        self._sub = rosgobject.Subscriber("/testnode/string",
                                          std_msgs.msg.String)
        self._sub.connect("message", self._on_message)

    def _on_message(self, sub, msg):
        print msg.data


if __name__ == "__main__":
    rosgobject.init_node("testminimal")
    u = UI()
    rosgobject.spin()