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


Python UI.wait_for_input方法代码示例

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


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

示例1: __init__

# 需要导入模块: from ui import UI [as 别名]
# 或者: from ui.UI import wait_for_input [as 别名]
class Menu:

    letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
    space = [' ']
    symbols = []

    # Make list of button value, text, and backlight color.
    special_chars = [(1, ( 0, 4, 0,21, 0, 4, 0, 0)), # ALL CONTROLS
                     (2, ( 0, 4, 0, 4, 0, 4, 0, 0)), # UP, SELECT, DOWN
                     (3, [ 4, 4,31, 4, 4, 0,31, 0])] # PM

    def __init__(self,display,core):
        self.ui = UI(display,special_chars=self.special_chars)
        self.conf = core.conf
        self.core = core

    def main_menu(self):
        menu_text = ("Record", "Settings", "Server", "System")
        menu_call = (self.record_menu, self.settings_menu, self.server_menu, self.system_menu)
        selected_entry = self.ui.select_from_list(menu_text)
        return menu_call[selected_entry]

    def record_menu(self):
        menu_text = ("Start PIR rec", "Start video rec", "Back")
        selected_entry = self.ui.select_from_list(menu_text)
        if selected_entry == 0:
            self.ui.backlight(False)
            self.core.pir_recording()
            self.ui.backlight(True)
            # wait till button released
            while self.core.tmp["STOP_FN"](self.core.tmp["STOP_BT"]):
                pass
            return self.record_menu
        elif selected_entry == 1:
            self.core.video_recording()
            return self.record_menu
        return self.main_menu

    def settings_menu(self):
        menu_text = ("Detection", "WiFi", "Update", "Back")
        menu_call = (self.edit_detection_settings_menu, self.edit_wifi_menu, self.update_menu, self.main_menu)
        selected_entry = self.ui.select_from_list(menu_text)
        return menu_call[selected_entry]

    def edit_detection_settings_menu(self):
        # display all dict entries for editing
        self.ui.display_message("Select Done to\ncontinue")
        conf_items = ["Done and quit"] + list(self.conf.keys())
        selected = self.ui.select_from_list(conf_items,display_message="Select item",controls=False)
        while selected != 0:
            key = conf_items[selected]
            print(key)
            value = self.conf[key]
            if type(value) is bool:
                self.conf[key] = bool(self.ui.question(message="New %s value" % key))
            elif type(value) is int:
                self.conf[key] = int(self.ui.enter_text(message="New %s value" % key,chars=Menu.numbers))
            elif type(value) is str:
                self.conf[key] = self.ui.enter_text(message="New %s value" % key,chars=Menu.letters + Menu.numbers + Menu.symbols)
            elif type(value) is list:
                for i in range(len(value)):
                    value[i] = int(self.ui.enter_text(message="New %s[%d] value" % (key,i),chars=Menu.numbers))
            elif type(value) is float:
                self.conf[key] = float(self.ui.enter_text(message="New %s value" % key, chars=Menu.numbers + ['.']))
            selected = self.ui.select_from_list(conf_items,display_message="Select item",controls=False,pos=selected)
        self.core.check_conf()
        if self.ui.question("Save to file?",options=["Yes","No"]) == "Yes":
            core.save_conf()
        return self.settings_menu

    def edit_wifi_menu(self):
        # get all cells from the air
        menu_text = ("Current connection", "New connection", "Back")
        menu_call = (self.current_wifi_connection, self.new_wifi_connection, self.settings_menu)
        selected_entry = self.ui.select_from_list(menu_text)
        return menu_call[selected_entry]

    def current_wifi_connection(self):
        self.ui.display_message("Please wait...")
        message = "Connected" if self.core.check_connection() else "Not connected"
        self.ui.display_message(message)
        return self.edit_wifi_menu

    def new_wifi_connection(self):
        ssids = [cell.ssid for cell in Cell.all('wlan0')]
        if len(ssids) > 0:
            ssid = ssids[self.ui.select_from_list(ssids,display_message="Select SSID",controls=False)]
        pwd = self.ui.enter_text("Enter SSID pwd",Menu.space+Menu.letters+Menu.numbers+Menu.symbols)
        self.core.setup_wifi_connection(ssid,pwd)
        return self.edit_wifi_menu

    def update_menu(self):
        home_dir = self.conf["home"]
        message = "Updated" if self.core.update(home_dir) else "Update failed"
        self.ui.display_message(message)
        return self.settings_menu

    def usb_menu(self):
        self.ui.display_message("Do NOT yet connect\n USB device!",wait_for_input=1.5)
#.........这里部分代码省略.........
开发者ID:opieters,项目名称:wcamera,代码行数:103,代码来源:menu.py


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