class LineEdit(Widget): def __init__(self, pos=(0, 0), size=(100, 40)): super(LineEdit, self).__init__(pos, size) self.keydown = Signal() self.font = Font('Arial') self.bgcolor = (80, 80, 80, 255) self.blinktime = 700 self.hmargin = 2 self.vmargin = 2 self.label = Label('', self.font) self.label.resize((self.width - 2 * self.hmargin, self.height - 2 * self.vmargin)) self.label.move_to(self.pos) self.label.move((self.hmargin, self.vmargin)) self.queue.add(self.label) self.keydown.connect(self.on_keyDown) def on_keyDown(self, key, mod, u): if key == pygame.K_BACKSPACE: self.remove() else: self.add(u) def add(self, letter): if self.label.get_font_width(self.label.text + letter) <= \ self.width - 2 * self.hmargin: self.label.text += letter def remove(self): self.label.text = self.label.text[:-1] def draw(self, surf): super(LineEdit, self).draw(surf) if ((pygame.time.get_ticks() / self.blinktime % 2 == 0) or (not self.focus)): x = self.label.pos[0] + self.label.get_font_width() y1 = self.label.pos[1] y2 = y1 + self.label.height - self.vmargin pygame.draw.line(surf, (0, 0, 0, 255), (x, y1), (x, y2))
def activate_on_window(self, window): if self.active: return self.window = window self.active = True if self.take_context: # Import all current views into this task self.take_context = False else: # close all current views while self.window.active_view(): self.window.run_command('close') # open new views into current files map(self.dict_to_view, self._views) # Async, post-load actions (wait until all views are loaded) loaded = Signal() def load_wait(): loading = any(v.is_loading() for v in window.views()) if loading: sublime.set_timeout(load_wait, 100) else: loaded() sublime.set_timeout(load_wait, 100) if self._active_view_ix != -1: def activate_active_view(): self.window.focus_view( self.window.views()[self._active_view_ix]) loaded.connect(activate_active_view) def connect_events(): TasklistEvents.loaded.connect(self.add_view) TasklistEvents.closed.connect(self.remove_view) TasklistEvents.activated.connect(self.set_active_view) loaded.connect(connect_events)
def activate_on_window(self, window): if self.active: return self.window = window self.active = True if self.take_context: # Import all current views into this task self.take_context = False else: # close all current views while self.window.active_view(): self.window.run_command('close') # open new views into current files map(self.dict_to_view, self._views) # Async, post-load actions (wait until all views are loaded) loaded = Signal() def load_wait(): loading = any(v.is_loading() for v in window.views()) if loading: sublime.set_timeout(load_wait, 100) else: loaded() sublime.set_timeout(load_wait, 100) if self._active_view_ix != -1: def activate_active_view(): self.window.focus_view(self.window.views()[self._active_view_ix]) loaded.connect(activate_active_view) def connect_events(): TasklistEvents.loaded.connect(self.add_view) TasklistEvents.closed.connect(self.remove_view) TasklistEvents.activated.connect(self.set_active_view) loaded.connect(connect_events)
class Button(Widget): def __init__(self, text, action, pos=(0, 0), size=(100, 40)): super(Button, self).__init__(pos, size) self.click = Signal() self.unclick = Signal() self.font = Font('Arial') self.bgcolor = (110, 110, 110, 255) self.hmargin = 5 self.vmargin = 5 self.pressed = False self.label = Label(text, self.font) self.label.resize((self.width - 2 * self.hmargin, self.height - 2 * self.vmargin)) self.label.move_to(self.pos) self.label.move((self.hmargin, self.vmargin)) self.queue.add(self.label) self.click.connect(self._clicked) self.unclick.connect(self._unclicked) self.click.connect(action) def _clicked(self, button, pos): if button == LEFTMOUSEBUTTON: self.pressed = True def _unclicked(self, button, pos): if button == LEFTMOUSEBUTTON: self.pressed = False
# button.move(0, 0) # button.resize(100, 100) # window.layout().addWidget(button) app = QApplication([]) window = QMainWindow() window.resize(1000, 1000) button=QPushButton() button.move(100,0) button.resize(100,100) window.layout().addWidget(button) signal = Signal() signal.connect(lambda data: signal_function(data)) window.show() executor = ThreadPoolExecutor(2) executor.submit(lambda:infinite_server()) app.exec()
button.clicked.connect(lambda: send_to_Artemy(textField2)) button = QPushButton() button.move(250, 810) button.resize(100, 100) button.setText("Artem") window.layout().addWidget(button) button.clicked.connect(lambda: send_to_Artem(textField2)) textField2 = QTextEdit() textField2.resize(250, 100) textField2.move(0, 810) window.layout().addWidget(textField2) signal = Signal() signal.connect(lambda data: signal_function(textField, data)) window.show() executor = ThreadPoolExecutor(2) executor.submit(lambda: infinite_server()) app.exec() def infinite_server(): while True: connection, address = server_socket.accept() data = connection.recv(1024).decode("utf-8") if address[0] == '192.168.0.153': data = 'Artemy - ' + data