当前位置: 首页>>代码示例>>Python>>正文


Python curses.KEY_RESIZE属性代码示例

本文整理汇总了Python中curses.KEY_RESIZE属性的典型用法代码示例。如果您正苦于以下问题:Python curses.KEY_RESIZE属性的具体用法?Python curses.KEY_RESIZE怎么用?Python curses.KEY_RESIZE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在curses的用法示例。


在下文中一共展示了curses.KEY_RESIZE属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: handle_keys

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def handle_keys(self):
        """Determine what method to call for each keypress.

        """
        c = self.scr.getch()  # Get a keystroke
        if c == curses.KEY_RESIZE:
            self.resize()
            return
        if 0 < c < 256:
            c = chr(c)
        # Digits are commands without a modifier
        try:
            found_digit = c.isdigit()
        except AttributeError:
            # Since .isdigit() doesn't exist if c > 256, we need to catch the
            # error for those keys.
            found_digit = False
        if found_digit and (len(self.modifier) > 0 or c not in self.keys):
            self.handle_modifier(c)
        elif c in self.keys:
            self.keys[c]()
        else:
            self.modifier = str() 
开发者ID:OpenTrading,项目名称:OpenTrader,代码行数:25,代码来源:tabview.py

示例2: testTerminalResize

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def testTerminalResize(self):
    ui = MockCursesUI(
        40,
        80,
        command_sequence=[string_to_codes("babble\n"),
                          [curses.KEY_RESIZE, 100, 85],  # Resize to [100, 85]
                          self._EXIT])

    ui.register_command_handler(
        "babble", self._babble, "babble some", prefix_aliases=["b"])
    ui.run_ui()

    # The resize event should have caused a second screen output event.
    self.assertEqual(2, len(ui.unwrapped_outputs))
    self.assertEqual(2, len(ui.wrapped_outputs))
    self.assertEqual(2, len(ui.scroll_messages))

    # The 1st and 2nd screen outputs should be identical (unwrapped).
    self.assertEqual(ui.unwrapped_outputs[0], ui.unwrapped_outputs[1])

    # The 1st scroll info should contain scrolling, because the screen size
    # is less than the number of lines in the output.
    self.assertIn("Scroll (PgDn): 0.00%", ui.scroll_messages[0]) 
开发者ID:abhisuri97,项目名称:auto-alt-text-lambda-api,代码行数:25,代码来源:curses_ui_test.py

示例3: _get_key_py33

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def _get_key_py33(self):
        """Python 3.3+ implementation of get_key."""
        # pylint: disable=too-many-return-statements
        try:
            # Curses in Python 3.3 handles unicode via get_wch
            key = self.window.get_wch()
            if isinstance(key, int):
                if key == curses.KEY_BACKSPACE:
                    return "KEY_BACKSPACE"
                if key == curses.KEY_LEFT:
                    return "KEY_LEFT"
                if key == curses.KEY_RIGHT:
                    return "KEY_RIGHT"
                if key == curses.KEY_RESIZE:
                    return "KEY_RESIZE"
                return None
            return key
        except curses.error:
            return None
        except KeyboardInterrupt:
            raise 
开发者ID:cslarsen,项目名称:wpm,代码行数:23,代码来源:screen.py

示例4: _screen_get_user_command

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def _screen_get_user_command(self):
    command = self._command_sequence[self._command_counter]

    self._command_key_counter = 0
    for c in command:
      if c == curses.KEY_RESIZE:
        # Special case for simulating a terminal resize event in curses.
        self._height = command[1]
        self._width = command[2]
        self._on_textbox_keypress(c)
        self._command_counter += 1
        return ""

      y = self._on_textbox_keypress(c)

      self._command_key_counter += 1
      if y == curses_ui.CursesUI.CLI_TERMINATOR_KEY:
        break

    self._command_counter += 1

    # Take into account pre-existing string automatically entered on textbox
    # creation.
    return self._curr_existing_command + codes_to_string(command) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:26,代码来源:curses_ui_test.py

示例5: testTerminalResize

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def testTerminalResize(self):
    ui = MockCursesUI(
        40,
        80,
        command_sequence=[string_to_codes("babble\n"),
                          [curses.KEY_RESIZE, 100, 85],  # Resize to [100, 85]
                          self._EXIT])

    ui.register_command_handler(
        "babble", self._babble, "babble some", prefix_aliases=["b"])
    ui.run_ui()

    # The resize event should have caused a second screen output event.
    self.assertEqual(2, len(ui.unwrapped_outputs))
    self.assertEqual(2, len(ui.wrapped_outputs))
    self.assertEqual(2, len(ui.scroll_messages))

    # The 1st and 2nd screen outputs should be identical (unwrapped).
    self.assertEqual(ui.unwrapped_outputs[0], ui.unwrapped_outputs[1])

    # The 1st scroll info should contain scrolling, because the screen size
    # is less than the number of lines in the output.
    self.assertIn("Scroll: 0.00%", ui.scroll_messages[0]) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:25,代码来源:curses_ui_test.py

示例6: test1

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def test1():
		def main(scr):
			scr.border()
			while True:
				print('fuck')
				ch = scr.getch()
				if ch == ord('q'):
					break
				if ch == curses.KEY_RESIZE:
					y, x = scr.getmaxyx()
					print('resize %dx%d'%(x, y))
			return 0
		print('hello')
		nc.wrapper(main)
		print('end')
		return 0 
开发者ID:skywind3000,项目名称:collection,代码行数:18,代码来源:ncurses.py

示例7: event_listener

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def event_listener(scr, timeout):
    '''
    Wait for curses events on screen ``scr`` at mot ``timeout`` ms

    return
     - 1 OK
     - 2 redraw
     - 0 error
    '''
    try:
        scr.timeout(timeout)
        c = scr.getch()
        if c == -1:
            return 1
        elif c == curses.KEY_MOUSE:
            return on_mouse()
        elif c == curses.KEY_RESIZE:
            return on_resize()
        else:
            return on_keyboard(c)
    except _curses.error:
        return 0 
开发者ID:yadutaf,项目名称:ctop,代码行数:24,代码来源:cgroup_top.py

示例8: event_listener

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def event_listener(scr, timeout):
    '''
    Wait for curses events on screen ``scr`` at mot ``timeout`` ms
    return
     - 1 OK
     - 2 redraw
     - 0 error
    '''
    try:
        scr.timeout(timeout)
        c = scr.getch()
        if c == -1:
            return 1
        elif c == curses.KEY_MOUSE:
            return on_mouse()
        elif c == curses.KEY_RESIZE:
            return on_resize()
        else:
            return on_keyboard(c)
    except _curses.error:
        return 0 
开发者ID:soarpenguin,项目名称:python-scripts,代码行数:23,代码来源:cgroup_top.py

示例9: event_listener

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def event_listener(scr, timeout):
    '''
    Wait for curses events on screen ``scr`` at mot ``timeout`` ms

    return
     - 1 OK
     - 2 redraw
     - 0 error
    '''
    try:
        scr.timeout(timeout)
        c = scr.getch()
        if c == -1:
            return 1
        elif c == curses.KEY_MOUSE:
            return on_mouse()
        elif c == curses.KEY_RESIZE:
            return on_resize()
        else:
            return on_keyboard(scr, c)
    except _curses.error:
        return 0 
开发者ID:soarpenguin,项目名称:python-scripts,代码行数:24,代码来源:top.py

示例10: _key_debug

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def _key_debug(stdscr: 'curses._CursesWindow', perf: Perf) -> int:
    screen = Screen(stdscr, ['<<key debug>>'], [0], perf)
    screen.file.buf = Buf([''])

    while True:
        screen.status.update('press q to quit')
        screen.draw()
        screen.file.move_cursor(screen.stdscr, screen.margin)

        key = screen.get_char()
        screen.file.buf.insert(-1, f'{key.wch!r} {key.keyname.decode()!r}')
        screen.file.down(screen.margin)
        if key.wch == curses.KEY_RESIZE:
            screen.resize()
        if key.wch == 'q':
            return 0 
开发者ID:asottile,项目名称:babi,代码行数:18,代码来源:main.py

示例11: test_key_debug

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def test_key_debug(run):
    with run('--key-debug') as h:
        h.await_text(VERSION_STR, timeout=2)

        h.await_text('press q to quit')

        h.press('a')
        h.await_text("'a' 'STRING'")

        h.press('^X')
        h.await_text(r"'\x18' '^X'")

        with h.resize(width=20, height=20):
            h.await_text(f"{curses.KEY_RESIZE} 'KEY_RESIZE'")

        h.press('q')
        h.await_exit() 
开发者ID:asottile,项目名称:babi,代码行数:19,代码来源:key_debug_test.py

示例12: _curses_keybindings

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def _curses_keybindings(self):

        c = self.screen.getch()
        # Provide scroll up/down with keys or mouse wheel
        if c == curses.KEY_UP:
            self._updown("up")
        elif c == curses.KEY_DOWN:
            self._updown("down")
        elif c == curses.KEY_LEFT:
            self._rightleft("left")
        elif c == curses.KEY_RIGHT:
            self._rightleft("right")
        # Trigger screen size update on resize
        elif c == curses.KEY_RESIZE:
            self.screen_lines = self.screen.getmaxyx()[0]
        # Exit interface when pressing q
        elif c == ord('q'):
            raise Exception 
开发者ID:assemblerflow,项目名称:flowcraft,代码行数:20,代码来源:inspect.py

示例13: test_terminal_text_input

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def test_terminal_text_input(terminal, stdscr, use_ascii):

    terminal.config['ascii'] = use_ascii
    stdscr.nlines = 1

    # Text will be wrong because stdscr.inch() is not implemented
    # But we can at least tell if text was captured or not
    stdscr.getch.side_effect = [ord('h'), ord('i'), ord('!'), terminal.RETURN]
    assert isinstance(terminal.text_input(stdscr), six.text_type)

    stdscr.getch.side_effect = [ord('b'), ord('y'), ord('e'), terminal.ESCAPE]
    assert terminal.text_input(stdscr) is None

    stdscr.getch.side_effect = [ord('h'), curses.KEY_RESIZE, terminal.RETURN]
    assert terminal.text_input(stdscr, allow_resize=True) is not None

    stdscr.getch.side_effect = [ord('h'), curses.KEY_RESIZE, terminal.RETURN]
    assert terminal.text_input(stdscr, allow_resize=False) is None 
开发者ID:michael-lazar,项目名称:rtv,代码行数:20,代码来源:test_terminal.py

示例14: setup_handlers

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def setup_handlers(self):
        self.handlers = {'\n':              self.close,
                         curses.KEY_ENTER:  self.close,
                         'q':               self.close,
                         curses.KEY_RESIZE: self.close,
                         curses.KEY_DOWN:   self.scroll_down,
                         'j':               self.scroll_down,
                         curses.KEY_UP:     self.scroll_up,
                         'k':               self.scroll_up,
                         } 
开发者ID:OpenTrading,项目名称:OpenTrader,代码行数:12,代码来源:tabview.py

示例15: _screen_get_user_command

# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_RESIZE [as 别名]
def _screen_get_user_command(self):
    command = self._command_sequence[self._command_counter]

    self._command_key_counter = 0
    for c in command:
      if c == curses.KEY_RESIZE:
        # Special case for simulating a terminal resize event in curses.
        self._height = command[1]
        self._width = command[2]
        self._on_textbox_keypress(c)
        self._command_counter += 1
        return ""
      elif c == curses.KEY_MOUSE:
        mouse_x = command[1]
        mouse_y = command[2]
        self._command_counter += 1
        self._textbox_curr_terminator = c
        return self._fetch_hyperlink_command(mouse_x, mouse_y)
      else:
        y = self._on_textbox_keypress(c)

        self._command_key_counter += 1
        if y == curses_ui.CursesUI.CLI_TERMINATOR_KEY:
          break

    self._command_counter += 1

    # Take into account pre-existing string automatically entered on textbox
    # creation.
    return self._curr_existing_command + codes_to_string(command) 
开发者ID:abhisuri97,项目名称:auto-alt-text-lambda-api,代码行数:32,代码来源:curses_ui_test.py


注:本文中的curses.KEY_RESIZE属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。