本文整理汇总了Python中python_qt_binding.QtCore.QTimer类的典型用法代码示例。如果您正苦于以下问题:Python QTimer类的具体用法?Python QTimer怎么用?Python QTimer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QTimer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: PropStatus
class PropStatus(Plugin):
def __init__(self, context):
super(PropStatus, self).__init__(context)
self.setObjectName('Status')
self._widget = QWidget()
loadUi(os.path.join(uipath, 'propagatorstatus.ui'), self._widget)
context.add_widget(self._widget)
rospy.Subscriber('/thrusters/info',ThrusterInfo,motordriver_callback)
rospy.Subscriber('/skytraq_serial',SerialPacket,gps_callback)
rospy.Subscriber('/imu/data_raw',Imu,imu_callback)
rospy.Subscriber('/scan',LaserScan,lidar_callback)
rospy.Subscriber('/mv_bluefox_camera_node/image_raw',Image,camera_callback)
rospy.Timer(rospy.Duration(2),kill)
self._update_timer = QTimer(self._widget)
self._update_timer.timeout.connect(self._on_update)
self._update_timer.start(100)
def _on_update(self):
self._widget.findChild(QListWidget, 'list').clear()
for i in ['FR','FL','BR','BL','GPS','IMU','LIDAR','CAMERA']:
pItem = QListWidgetItem(i);
if i in active:
pItem.setBackground(Qt.green);
else:
pItem.setBackground(Qt.red);
self._widget.findChild(QListWidget, 'list').addItem(pItem)
开发者ID:jpanikulam,项目名称:software-common,代码行数:30,代码来源:propagatorstatus.py
示例2: __init__
def __init__(self, parent=None):
super(XTermWidget, self).__init__(parent)
self.setObjectName('XTermWidget')
self._process = QProcess(self)
self._process.finished.connect(self.close_signal)
# let the widget finish init before embedding xterm
QTimer.singleShot(100, self._embed_xterm)
开发者ID:OSUrobotics,项目名称:rqt_common_plugins,代码行数:7,代码来源:xterm_widget.py
示例3: __init__
def __init__(self):
super(StatusLightWidget, self).__init__()
self.lock = Lock()
self.status_sub = None
self.status = 0
self._status_topics = []
self._update_topic_timer = QTimer(self)
self._update_topic_timer.timeout.connect(self.updateTopics)
self._update_topic_timer.start(1000)
self._active_topic = None
self._dialog = ComboBoxDialog()
self._update_plot_timer = QTimer(self)
self._update_plot_timer.timeout.connect(self.redraw)
self._update_plot_timer.start(1000 / 15)
开发者ID:CPFL,项目名称:jsk_visualization_packages,代码行数:14,代码来源:status_light.py
示例4: MicoButtonsWidget
class MicoButtonsWidget(QWidget):
def __init__(self, widget):
super(MicoButtonsWidget, self).__init__()
rospkg_pack = rospkg.RosPack()
ui_file = os.path.join(rospkg_pack.get_path('mico_controller'), 'resource', 'MicoButtons.ui')
loadUi(ui_file, self)
self.start_arm_srv = rospy.ServiceProxy('mico_arm_driver/in/start', MicoStart)
self.stop_arm_srv = rospy.ServiceProxy('mico_arm_driver/in/stop', MicoStop)
self.home_arm_srv = rospy.ServiceProxy('mico_arm_driver/in/home_arm', MicoHome)
self._updateTimer = QTimer(self)
self._updateTimer.timeout.connect(self.timeout_callback)
def start(self):
self._updateTimer.start(1000) # loop rate[ms]
def stop(self):
self._updateTimer.stop()
def timeout_callback(self):
pass
# rqt override
def save_settings(self, plugin_settings, instance_settings):
pass
# instance_settings.set_value('topic_name', self._topic_name)
def restore_settings(self, plugin_settings, instance_settings):
pass
# topic_name = instance_settings.value('topic_name')
# try:
# self._topic_name = eval(topic_name)
# except Exception:
# self._topic_name = self.TOPIC_NAME
def shutdown_plugin(self):
self.stop()
@Slot()
def on_qt_start_btn_clicked(self):
rospy.loginfo(self.start_arm_srv())
@Slot()
def on_qt_stop_btn_clicked(self):
rospy.loginfo(self.stop_arm_srv())
@Slot()
def on_qt_home_btn_clicked(self):
rospy.loginfo(self.home_arm_srv())
开发者ID:mu-777,项目名称:mico_controller,代码行数:50,代码来源:mico_buttons_widget.py
示例5: __init__
def __init__(self, context):
super(Control, self).__init__(context)
# Give QObjects reasonable names
self.setObjectName('Control')
# Create QWidget
self._widget = QWidget()
# Get path to UI file which should be in the "resource" folder of
# this package
ui_file = os.path.join(rospkg.RosPack().get_path('robosub'),
'src/rqt/rqt_control/resource', 'Control.ui')
# Extend the widget with all attributes and children from UI file
loadUi(ui_file, self._widget)
self.control_timer = QTimer(self)
self.control_timer.timeout.connect(self.control_missed)
self.control_timer.start(1000)
self.control_status_timer = QTimer(self)
self.control_status_timer.timeout.connect(self.control_status_missed)
self.control_status_timer.start(1000)
# Give QObjects reasonable names
self._widget.setObjectName('Control')
if context.serial_number() > 1:
self._widget.setWindowTitle(self._widget.windowTitle() +
(' (%d)' % context.serial_number()))
# Add widget to the user interface
context.add_widget(self._widget)
self._widget.statusActive.hide()
self._widget.controlActive.hide()
self.con_sub = rospy.Subscriber('control', control,
self.control_callback, queue_size=1)
self.cs_sub = rospy.Subscriber('control_status', control_status,
self.control_status_callback,
queue_size=1)
img_file = os.path.join(rospkg.RosPack().get_path('robosub'),
'src/rqt/resource/robosub_logo.png')
self._widget.setStyleSheet(".QWidget {background-image: url(" +
img_file +
"); background-repeat: no-repeat;" +
"background-position:bottom right}")
开发者ID:PalouseRobosub,项目名称:robosub,代码行数:48,代码来源:control.py
示例6: RosPlot
class RosPlot(FigureCanvas):
"""Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.)."""
def __init__(self, parent, label_name,topic_name,topic_type,topic_field,buffer_size):
self.label_name= label_name
self.topic_type = topic_type
self.topic_name = topic_name
self.topic_field = topic_field
self.buffer_size = buffer_size
self.timer = QTimer()
self.timer.setInterval(100)
self.timer.timeout.connect(self.update_figure)
fig = Figure(figsize=(5, 4), dpi=100)
self.axes = fig.add_subplot(111)
# We want the axes cleared every time plot() is called
self.axes.hold(False)
self.compute_initial_figure()
self.buffer = collections.deque(maxlen=self.buffer_size)
FigureCanvas.__init__(self, fig)
self.setParent(parent)
FigureCanvas.setSizePolicy(self,
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
self.subscriber = RosHelper.create_subscriber_from_type(self.topic_name,self.topic_type,self.on_message)
self.timer.start()
def compute_initial_figure(self):
pass
def on_message(self,msg):
r = msg
for subfields in self.topic_field.split(".")[1:]:
r = getattr(r,subfields)
self.buffer.append(r)
def update_figure(self):
x = np.array(range(0,len(self.buffer)))
y = np.array(self.buffer)
self.axes.plot(x, y.T, 'r')
self.draw()
开发者ID:AliquesTomas,项目名称:FroboMind,代码行数:48,代码来源:RosPlot.py
示例7: __init__
def __init__(self, context):
super(Battery_state, self).__init__(context)
# Give QObjects reasonable names
self.setObjectName('Battery_state')
# Process standalone plugin command-line arguments
from argparse import ArgumentParser
parser = ArgumentParser()
# Add argument(s) to the parser.
parser.add_argument("-q", "--quiet", action="store_true", dest="quiet", help="Put plugin in silent mode")
args, unknowns = parser.parse_known_args(context.argv())
if not args.quiet:
print 'arguments: ', args
print 'unknowns: ', unknowns
self._widget = QWidget()
ui_file = os.path.join(rospkg.RosPack().get_path('rqt_battery_state'), 'resource', 'qt_gui3.ui')
loadUi(ui_file, self._widget)
self._widget.setObjectName('qt_gui3')
if context.serial_number() > 0:
self._widget.setWindowTitle('Battery State')
# Add widget to the user interface
context.add_widget(self._widget)
self._update_timer = QTimer(self)
self._update_timer.timeout.connect(self._handle_update)
self._update_timer.start(1000)#time step
self.subscriber = rospy.Subscriber('/my_roomba/battery_state', BatteryState, self.subscriber_callback)
开发者ID:iliasam,项目名称:ROS_files,代码行数:28,代码来源:rqt_battery_state.py
示例8: __init__
def __init__(self, plugin):
super(Theta360ViewWidget, self).__init__()
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('theta_viewer'), 'resource', 'Theta360ViewWidget.ui')
loadUi(ui_file, self)
self.plugin = plugin
self.position = (0.0, 0.0, 0.0)
self.orientation = quaternion_about_axis(0.0, (1.0, 0.0, 0.0))
self.topicName = None
self.subscriber = None
# create GL view
self._glview = MyGLWidget()
self._glview.setAcceptDrops(True)
# backup and replace original paint method
# self.glView.paintGL is callbacked from QGLWidget
self._glview.paintGL_original = self._glview.paintGL
self._glview.paintGL = self.glview_paintGL
# backup and replace original mouse release method
self._glview.mouseReleaseEvent_original = self._glview.mouseReleaseEvent
self._glview.mouseReleaseEvent = self.glview_mouseReleaseEvent
# add GL view to widget layout
self.layout().addWidget(self._glview)
# init and start update timer with 40ms (25fps)
# updateTimeout is called with interval time
self.update_timer = QTimer(self)
self.update_timer.timeout.connect(self.update_timeout)
self.update_timer.start(40)
self.cnt = 0
开发者ID:my-garbage-collection,项目名称:rqt_test,代码行数:34,代码来源:theta_view_widget.py
示例9: __init__
def __init__(self, mainWidget):
self.mainWidget = mainWidget
# create GL view
self._gl_view = mainWidget._gl_view
self._gl_view.setAcceptDrops(True)
self.resolution_meters = 50
self._cross = None
# backup and replace original paint method
self._gl_view.paintGL_original = self._gl_view.paintGL
self._gl_view.paintGL = self._gl_view_paintGL
self._grid_layer = GridLayer(self.resolution_meters,self._gl_view)
self._submarine_layer = SubmarineLayer(self.resolution_meters,self._gl_view)
self._coor_layer = CoorSystemLayer(self._gl_view)
self._target_layer = TargetLayer(self._gl_view)
self._path_layer = PathLayer(self.resolution_meters,self._gl_view)
self._layers = []
self._layers.append(self._grid_layer)
self._layers.append(self._submarine_layer)
self._layers.append(self._coor_layer)
self._layers.append(self._target_layer)
self._layers.append(self._path_layer)
# backup and replace original mouse release method
self._gl_view.mouseReleaseEvent_original = self._gl_view.mouseReleaseEvent
self._gl_view.mouseReleaseEvent = self.mainWidget._gl_view_mouseReleaseEvent
# init and start update timer with 40ms (25fps)
self._update_timer = QTimer(mainWidget)
self._update_timer.timeout.connect(self.update_timeout)
self._update_timer.start(100)
开发者ID:sonia-auv,项目名称:rqt_sonia_plugins,代码行数:34,代码来源:MapDrawer.py
示例10: __init__
def __init__(self, topics):
super(HistogramPlotWidget, self).__init__()
self.setObjectName('HistogramPlotWidget')
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('jsk_rqt_plugins'),
'resource', 'plot_histogram.ui')
loadUi(ui_file, self)
self.cv_bridge = CvBridge()
self.subscribe_topic_button.setIcon(QIcon.fromTheme('add'))
self.pause_button.setIcon(QIcon.fromTheme('media-playback-pause'))
self.clear_button.setIcon(QIcon.fromTheme('edit-clear'))
self.data_plot = MatHistogramPlot(self)
self.data_plot_layout.addWidget(self.data_plot)
self._topic_completer = TopicCompleter(self.topic_edit)
self._topic_completer.update_topics()
self.topic_edit.setCompleter(self._topic_completer)
self.data_plot.dropEvent = self.dropEvent
self.data_plot.dragEnterEvent = self.dragEnterEvent
self._start_time = rospy.get_time()
self._rosdata = None
if len(topics) != 0:
self.subscribe_topic(topics)
self._update_plot_timer = QTimer(self)
self._update_plot_timer.timeout.connect(self.update_plot)
self._update_plot_timer.start(self._redraw_interval)
开发者ID:CPFL,项目名称:jsk_visualization_packages,代码行数:25,代码来源:hist.py
示例11: __init__
def __init__(self, parent, label_name,topic_name,topic_type,topic_field,buffer_size):
self.label_name= label_name
self.topic_type = topic_type
self.topic_name = topic_name
self.topic_field = topic_field
self.buffer_size = buffer_size
self.timer = QTimer()
self.timer.setInterval(100)
self.timer.timeout.connect(self.update_figure)
fig = Figure(figsize=(5, 4), dpi=100)
self.axes = fig.add_subplot(111)
# We want the axes cleared every time plot() is called
self.axes.hold(False)
self.compute_initial_figure()
self.buffer = collections.deque(maxlen=self.buffer_size)
FigureCanvas.__init__(self, fig)
self.setParent(parent)
FigureCanvas.setSizePolicy(self,
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
self.subscriber = RosHelper.create_subscriber_from_type(self.topic_name,self.topic_type,self.on_message)
self.timer.start()
开发者ID:AliquesTomas,项目名称:FroboMind,代码行数:31,代码来源:RosPlot.py
示例12: __init__
def __init__(self, mcptam_namespace='mcptam'):
# Init QWidget
super(SysmonWidget, self).__init__()
self.setObjectName('SysmonWidget')
# load UI
ui_file = os.path.join(rospkg.RosPack().get_path('artemis_sysmon'), 'resource', 'widget.ui')
loadUi(ui_file, self)
# Subscribe to ROS topics and register callbacks
self._slam_info_sub = rospy.Subscriber(mcptam_namespace+'/system_info', SystemInfo, self.slam_info_cb)
self._slam_tracker_sub = rospy.Subscriber(mcptam_namespace+'/tracker_state', TrackerState, self.slam_tracker_cb)
# Initialize service call
print('Waiting for MAV services')
rospy.wait_for_service(mcptam_namespace+'/init')
rospy.wait_for_service(mcptam_namespace+'/reset')
print('Connected to SLAM system')
self._slam_init_srv = rospy.ServiceProxy(mcptam_namespace+'/init', Empty)
self._slam_reset_srv = rospy.ServiceProxy(mcptam_namespace+'/reset', Reset)
# init and start update timer for data, the timer calls the function update_info all 40ms
self._update_info_timer = QTimer(self)
self._update_info_timer.timeout.connect(self.update_info)
self._update_info_timer.start(40)
# set the functions that are called when a button is pressed
self.button_start.pressed.connect(self.on_start_button_pressed)
self.button_reset.pressed.connect(self.on_reset_button_pressed)
self.button_quit.pressed.connect(self.on_quit_button_pressed)
开发者ID:ProjectArtemis,项目名称:artemis_sysmon,代码行数:31,代码来源:sysmon_widget.py
示例13: __init__
def __init__(self, context):
"""
:param context: plugin context hook to enable adding widgets as a ROS_GUI pane, ''PluginContext''
"""
super(Console, self).__init__(context)
self.setObjectName('Console')
self._rospack = rospkg.RosPack()
self._model = MessageDataModel()
self._proxy_model = MessageProxyModel()
self._proxy_model.setSourceModel(self._model)
self._widget = ConsoleWidget(self._proxy_model, self._rospack)
if context.serial_number() > 1:
self._widget.setWindowTitle(self._widget.windowTitle() + (' (%d)' % context.serial_number()))
context.add_widget(self._widget)
# queue to store incoming data which get flushed periodically to the model
# required since QSortProxyModel can not handle a high insert rate
self._message_queue = []
self._mutex = QMutex()
self._timer = QTimer()
self._timer.timeout.connect(self.insert_messages)
self._timer.start(100)
self._subscriber = None
self._topic = '/rosout_agg'
self._subscribe(self._topic)
开发者ID:OSUrobotics,项目名称:rqt_common_plugins,代码行数:29,代码来源:console.py
示例14: __init__
def __init__(self, initial_topics=None, start_paused=False):
super(PlotWidget, self).__init__()
self.setObjectName('PlotWidget')
self._initial_topics = initial_topics
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('rqt_plot'), 'resource', 'plot.ui')
loadUi(ui_file, self)
self.subscribe_topic_button.setIcon(QIcon.fromTheme('list-add'))
self.remove_topic_button.setIcon(QIcon.fromTheme('list-remove'))
self.pause_button.setIcon(QIcon.fromTheme('media-playback-pause'))
self.clear_button.setIcon(QIcon.fromTheme('edit-clear'))
self.data_plot = None
self.subscribe_topic_button.setEnabled(False)
if start_paused:
self.pause_button.setChecked(True)
self._topic_completer = TopicCompleter(self.topic_edit)
self._topic_completer.update_topics()
self.topic_edit.setCompleter(self._topic_completer)
self._start_time = rospy.get_time()
self._rosdata = {}
self._remove_topic_menu = QMenu()
# init and start update timer for plot
self._update_plot_timer = QTimer(self)
self._update_plot_timer.timeout.connect(self.update_plot)
开发者ID:Rescube,项目名称:rqt_common_plugins,代码行数:30,代码来源:plot_widget.py
示例15: __init__
def __init__(self):
print('constructor')
# Init QWidget
super(CalibWidget, self).__init__()
self.setObjectName('CalibWidget')
# load UI
ui_file = os.path.join(rospkg.RosPack().get_path('dvs_calibration_gui'), 'resource', 'widget.ui')
loadUi(ui_file, self)
# init and start update timer for data, the timer calls the function update_info all 40ms
self._update_info_timer = QTimer(self)
self._update_info_timer.timeout.connect(self.update_info)
self._update_info_timer.start(40)
self.button_reset.pressed.connect(self.on_button_reset_pressed)
self.button_start.pressed.connect(self.on_button_start_calibration_pressed)
self.button_save.pressed.connect(self.on_button_save_calibration_pressed)
self._sub_pattern_detections = rospy.Subscriber('dvs_calibration/pattern_detections', Int32, self.pattern_detections_cb)
self._sub_calibration_output = rospy.Subscriber('dvs_calibration/output', String, self.calibration_output_cb)
print('reset')
self.on_button_reset_pressed()
print('reset done')
开发者ID:AndreaCensi,项目名称:rpg_dvs_ros,代码行数:27,代码来源:calib_widget.py
示例16: __init__
def __init__(self, plugin):
super(PoseViewWidget, self).__init__()
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('rqt_pose_view'), 'resource', 'PoseViewWidget.ui')
loadUi(ui_file, self)
self._plugin = plugin
self._position = (0.0, 0.0, 0.0)
self._orientation = quaternion_about_axis(0.0, (1.0, 0.0, 0.0))
self._topic_name = None
self._subscriber = None
# create GL view
self._gl_view = GLWidget()
self._gl_view.setAcceptDrops(True)
# backup and replace original paint method
self._gl_view.paintGL_original = self._gl_view.paintGL
self._gl_view.paintGL = self._gl_view_paintGL
# backup and replace original mouse release method
self._gl_view.mouseReleaseEvent_original = self._gl_view.mouseReleaseEvent
self._gl_view.mouseReleaseEvent = self._gl_view_mouseReleaseEvent
# add GL view to widget layout
self.layout().addWidget(self._gl_view)
# init and start update timer with 40ms (25fps)
self._update_timer = QTimer(self)
self._update_timer.timeout.connect(self.update_timeout)
self._update_timer.start(40)
开发者ID:mylxiaoyi,项目名称:ros_distro,代码行数:31,代码来源:pose_view_widget.py
示例17: __init__
def __init__(self):
super(BaseFilter, self).__init__()
self._enabled = True
self._timer = QTimer(self)
self._timer.setSingleShot(True)
self._timer.timeout.connect(self.filter_changed_signal.emit)
开发者ID:OSUrobotics,项目名称:rqt_common_plugins,代码行数:7,代码来源:base_filter.py
示例18: __init__
def __init__(self, topic="diagnostics"):
super(RuntimeMonitorWidget, self).__init__()
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('rqt_runtime_monitor'), 'resource', 'runtime_monitor_widget.ui')
loadUi(ui_file, self)
self.setObjectName('RuntimeMonitorWidget')
self._mutex = threading.Lock()
self._error_icon = QIcon.fromTheme('dialog-error')
self._warning_icon = QIcon.fromTheme('dialog-warning')
self._ok_icon = QIcon.fromTheme('dialog-information')
self._stale_node = QTreeWidgetItem(self.tree_widget.invisibleRootItem(), ['Stale (0)'])
self._stale_node.setIcon(0, self._error_icon)
self.tree_widget.addTopLevelItem(self._stale_node)
self._error_node = QTreeWidgetItem(self.tree_widget.invisibleRootItem(), ['Errors (0)'])
self._error_node.setIcon(0, self._error_icon)
self.tree_widget.addTopLevelItem(self._error_node)
self._warning_node = QTreeWidgetItem(self.tree_widget.invisibleRootItem(), ['Warnings (0)'])
self._warning_node.setIcon(0, self._warning_icon)
self.tree_widget.addTopLevelItem(self._warning_node)
self._ok_node = QTreeWidgetItem(self.tree_widget.invisibleRootItem(), ['Ok (0)'])
self._ok_node.setIcon(0, self._ok_icon)
self.tree_widget.addTopLevelItem(self._ok_node)
self.tree_widget.itemSelectionChanged.connect(self._refresh_selection)
self.keyPressEvent = self._on_key_press
self._name_to_item = {}
self._new_errors_callback = None
self._subscriber = rospy.Subscriber(topic, DiagnosticArray, self._diagnostics_callback)
self._previous_ros_time = rospy.Time.now()
self._timer = QTimer()
self._timer.timeout.connect(self._on_timer)
self._timer.start(1000)
self._msg_timer = QTimer()
self._msg_timer.timeout.connect(self._update_messages)
self._msg_timer.start(100)
self._messages = []
self._used_items = 0
开发者ID:ros-visualization,项目名称:rqt_robot_plugins,代码行数:47,代码来源:runtime_monitor_widget.py
示例19: __init__
def __init__(self, context, topic=None):
"""
:param context: plugin context hook to enable adding widgets as a
ROS_GUI pane, 'PluginContext'
:param topic: Diagnostic topic to subscribe to 'str'
"""
super(RobotMonitorWidget, self).__init__()
rp = rospkg.RosPack()
ui_file = os.path.join(rp.get_path('rqt_robot_monitor'), 'resource',
'robotmonitor_mainwidget.ui')
loadUi(ui_file, self)
obj_name = 'Robot Monitor'
self.setObjectName(obj_name)
self.setWindowTitle(obj_name)
self.message_updated.connect(self.message_cb)
# if we're given a topic, create a timeline. otherwise, don't
# this can be used later when writing an rqt_bag plugin
if topic:
# create timeline data structure
self._timeline = Timeline(topic, DiagnosticArray)
self._timeline.message_updated.connect(self.message_updated)
# create timeline pane widget
self.timeline_pane = TimelinePane(self)
self.timeline_pane.set_timeline(self._timeline)
self.vlayout_top.addWidget(self.timeline_pane)
self.timeline_pane.show()
else:
self._timeline = None
self.timeline_pane = None
self._inspectors = {}
# keep a copy of the current message for opening new inspectors
self._current_msg = None
self.tree_all_devices.itemDoubleClicked.connect(self._tree_clicked)
self.warn_flattree.itemDoubleClicked.connect(self._tree_clicked)
self.err_flattree.itemDoubleClicked.connect(self._tree_clicked)
# TODO: resize on itemCollapsed and itemExpanded
self._is_stale = False
self._timer = QTimer()
self._timer.timeout.connect(self._update_message_state)
self._timer.start(1000)
palette = self.tree_all_devices.palette()
self._original_base_color = palette.base().color()
self._original_alt_base_color = palette.alternateBase().color()
self._tree = StatusItem(self.tree_all_devices.invisibleRootItem())
self._warn_tree = StatusItem(self.warn_flattree.invisibleRootItem())
self._err_tree = StatusItem(self.err_flattree.invisibleRootItem())
开发者ID:Aerobota,项目名称:rqt_robot_plugins,代码行数:59,代码来源:robot_monitor.py
示例20: __init__
def __init__(self, context):
super(MyPlugin, self).__init__(context)
# Give QObjects reasonable names
self.setObjectName('MyPlugin')
#final Inputの取得 TODO:ちゃんと表示させるようにする
rospy.Subscriber('initialpose',PoseWithCovarianceStamped,self.InitialPoseCallback)
# Process standalone plugin command-line arguments
from argparse import ArgumentParser
parser = ArgumentParser()
# Add argument(s) to the parser.
parser.add_argument("-q", "--quiet", action="store_true",dest="quiet",help="Put plugin in silent mode")
args, unknowns = parser.parse_known_args(context.argv())
if not args.quiet:
print 'arguments: ', args
print 'unknowns: ', unknowns
# Create QWidget
self._widget = QWidget()
# Get path to UI file which is a sibling of this file
# in this example the .ui and .py file are in the same folder
ui_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'RvizRuler.ui')
# Extend the widget with all attributes and children from UI file
loadUi(ui_file, self._widget)
# Give QObjects reasonable names
self._widget.setObjectName('MyPluginUi')
# Show _widget.windowTitle on left-top of each plugin (when
# it's set in _widget). This is useful when you open multiple
# plugins at once. Also if you open multiple instances of your
#Topicデータ表示用タイマ
self._timer_refresh_topics = QTimer(self)
self._timer_refresh_topics.timeout.connect(self.printdata)
#このスロットが一定周期で呼ばれる
self._timer_refresh_topics.start(500)#スレッドのループ周期 msec
# plugin at once, these lines add number to make it easy to
# tell from pane to pane.
if context.serial_number() > 1:
self._widget.setWindowTitle(self._widget.windowTitle() + (' (%d)' % context.serial_number()))
# Add widget to the user interface
context.add_widget(self._widget)
def shutdown_plugin(self):
# TODO unregister all publishers here
pass
def save_settings(self, plugin_settings, instance_settings):
# TODO save intrinsic configuration, usually using:
# instance_settings.set_value(k, v)
pass
def restore_settings(self, plugin_settings, instance_settings):
# TODO restore intrinsic configuration, usually using:
# v = instance_settings.value(k)
pass
开发者ID:hakke,项目名称:HelloROS,代码行数:58,代码来源:RvizRuler.py
注:本文中的python_qt_binding.QtCore.QTimer类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论