def __init__(self, guimgr): super(AwRosbagSimulatorWidget, self).__init__() self.rosbag_mode_proc = QtCore.QProcess(self) self.rosbag_info_proc = QtCore.QProcess(self) self.rosbag_play_proc = QtCore.QProcess(self) self.rosbag_file = widgets.AwFileSelect(self) self.rosbag_info = QtWidgets.QPushButton("Info") self.rosbag_text = QtWidgets.QLabel("No information") self.rosbag_enable = QtWidgets.QCheckBox() self.rosbag_label = QtWidgets.QLabel("Simulation Mode") self.rosbag_play = QtWidgets.QPushButton("Play") self.rosbag_stop = QtWidgets.QPushButton("Stop") self.rosbag_pause = QtWidgets.QPushButton("Pause") self.rosbag_state = QtWidgets.QLabel() #self.rosbag_stime = QtWidgets.QLineEdit() #start time #repeat #rate self.rosbag_enable.stateChanged.connect(self.simulation_mode_changed) self.rosbag_info.clicked.connect(self.rosbag_info_requested) self.rosbag_info_proc.finished.connect(self.rosbag_info_completed) self.rosbag_play.clicked.connect(self.rosbag_started) self.rosbag_stop.clicked.connect(self.rosbag_stopped) self.rosbag_play_proc.finished.connect(self.rosbag_finished) self.rosbag_play_proc.readyReadStandardOutput.connect( self.rosbag_output) self.rosbag_pause.setCheckable(True) self.rosbag_pause.toggled.connect(self.rosbag_paused) self.setStyleSheet( "QCheckBox::indicator { width: 28px; height: 28px; }") self.rosbag_label.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) self.rosbag_text.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) layout = QtWidgets.QGridLayout() layout.addWidget(self.rosbag_enable, 0, 0) layout.addWidget(self.rosbag_label, 0, 1) layout.addWidget(self.rosbag_play, 0, 2) layout.addWidget(self.rosbag_stop, 0, 3) layout.addWidget(self.rosbag_pause, 0, 4) layout.addWidget(self.rosbag_state, 1, 0, 1, 5) layout.addWidget(self.rosbag_file.path, 2, 0, 1, 3) layout.addWidget(self.rosbag_file.button, 2, 3) layout.addWidget(self.rosbag_info, 2, 4) layout.addWidget(self.rosbag_text, 3, 0, 1, 5) self.setLayout(layout) self.simulation_mode_disabled()
def __init__(self, guimgr): super(AwLgsvlSimulatorWidget, self).__init__() self.process = QtCore.QProcess(self) self.console = AwProcessViewer(self.process) self.button = QtWidgets.QPushButton("Launch Simulator") self.button.setCheckable(True) self.button.toggled.connect(self.launch_lgsvm) self.server_addr = QtWidgets.QLineEdit() self.server_port = QtWidgets.QLineEdit() self.client_addr = QtWidgets.QLineEdit() self.client_port = QtWidgets.QLineEdit() self.server_addr.setText("10.100.2.1") self.server_port.setText("5000") for host in QtNetwork.QNetworkInterface.allAddresses(): if not host.isLoopback(): if host.protocol() == QtNetwork.QAbstractSocket.IPv4Protocol: self.client_addr.setText(host.toString()) self.client_port.setText("9090") layout = QtWidgets.QGridLayout() layout.addWidget(QtWidgets.QLabel("Server Address"), 0, 0) layout.addWidget(QtWidgets.QLabel("Server Port"), 1, 0) layout.addWidget(QtWidgets.QLabel("Client Address"), 2, 0) layout.addWidget(QtWidgets.QLabel("Client Port"), 3, 0) layout.addWidget(self.server_addr, 0, 1) layout.addWidget(self.server_port, 1, 1) layout.addWidget(self.client_addr, 2, 1) layout.addWidget(self.client_port, 3, 1) layout.addWidget(self.button, 4, 0, 1, 2) layout.addWidget(self.console, 5, 0, 1, 2) self.setLayout(layout)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) path = rospkg.RosPack().get_path('cyplam_data') loadUi(os.path.join(path, 'resources', 'data.ui'), self) rospy.Subscriber('/supervisor/status', MsgStatus, self.cbStatus, queue_size=1) self.btnConnect.clicked.connect(self.btnConnectClicked) self.btnJob.clicked.connect(self.btnJobClicked) self.btnPredict.clicked.connect(self.btnPredictClicked) self.btnRecord.clicked.connect(self.btnRecordClicked) self.btnTransfer.clicked.connect(self.btnTransferClicked) dirdata = os.path.join(HOME, DIRDATA) if not os.path.exists(dirdata): os.mkdir(dirdata) self.job = '' self.name = '' self.status = False self.running = False self.process = QtCore.QProcess(self) if rospy.has_param('/material'): self.setMaterialParameters(rospy.get_param('/material')) self.btnJobClicked()
def __init__(self, lpath): super(AwProcessItem, self).__init__() self.lpath = lpath #ToDo: setMaximumBlockCount self.setReadOnly(True) self.setLineWrapMode(QtWidgets.QPlainTextEdit.NoWrap) self.proc = QtCore.QProcess(self) self.proc.finished.connect(self.proc_finished) self.proc.readyReadStandardOutput.connect(self.proc_stdouted) self.proc.readyReadStandardError.connect(self.proc_stderred) import re self.bash_regex = re.compile("\033(\[.*?m|\].*?;)")
def __init__(self, guimgr): super(AwGazeboSimulatorWidget, self).__init__() self.gazebo_process = QtCore.QProcess(self) self.launch_button = QtWidgets.QPushButton("Launch") self.setup_button = QtWidgets.QPushButton("Initial Setup") self.world_buttons = [] self.world_buttons.append( self.__create_radio_button("simple", "simple")) self.world_buttons.append(self.__create_radio_button("mcity", "mcity")) self.world_buttons.append( self.__create_radio_button("city sim", "citysim_gazebo7")) self.use_gpu_box = QtWidgets.QCheckBox("Use GPU") self.world_buttons[0].setChecked(True) self.setup_button.clicked.connect(self.__exec_setup_script) self.launch_button.setCheckable(True) self.launch_button.toggled.connect(self.__exec_simulator) self.gazebo_process.finished.connect(self.__simulator_finished) world_group = QtWidgets.QGroupBox("World") world_group.setLayout(QtWidgets.QVBoxLayout()) for world_button in self.world_buttons: world_group.layout().addWidget(world_button) world_group.layout().addStretch() config_group = QtWidgets.QGroupBox("Config") config_group.setLayout(QtWidgets.QVBoxLayout()) config_group.layout().addWidget(self.use_gpu_box) config_group.layout().addStretch() hlayout1 = QtWidgets.QHBoxLayout() hlayout1.addStretch() hlayout1.addWidget(self.setup_button) hlayout2 = QtWidgets.QHBoxLayout() hlayout2.addWidget(world_group) hlayout2.addWidget(config_group) self.setLayout(QtWidgets.QVBoxLayout()) self.layout().addLayout(hlayout1) self.layout().addLayout(hlayout2) self.layout().addWidget(self.launch_button)