对话框(Dialog)

Easygraphics提供了许多预定义的对话框函数,来与用户进行交互。

输出对话框

show_html(title, text, width, height) 在窗口中显示一大段html代码。
show_image_dialog(image, title) 在窗口中显示图片。
show_lists_table(*args, column_names, title, …) 以表格形式显示多个列表。
show_message(message, title) 显示一个简单消息框。
show_objects(datas, fields, field_names, …) 以表格形式显示一组对象。
show_text(title, text, width, height) 在窗口中显示一大段文字。
show_table(datas, fields, field_names, …) 以表格形式显示一组对象。
show_code(title, code, width, height) 在窗口中显示代码。
show_file(file_name, title, file_type, …) 在窗口中显示文件内容。

输入对话框

get_choice(message, title, choices) 显示一个对话框,让用户从下拉列表中选择一项
get_color([color]) 显示一个色彩选择对话框,返回用户选择的颜色
get_continue_or_cancel(question, title, …) 选择继续或者取消
get_date(title) 选择日期
get_directory_name(title) 选择一个目录
get_file_names(title, filter) 选择文件
get_float(message, title, default_value, …) 显示一个对话框,让用户在指定范围和精度下选择一个浮点数。
get_int(message, title, default_value, min_, …) 显示一个对话框,让用户在指定范围内选择一个整数。
get_list_of_choices(title, choices) 显示一个列表让用户选择(可复选)
get_many_strings(title, labels, masks) 同时输入多个字符串
get_new_password(title, labels) 修改密码对话框
get_password(message, title) 输入密码对话框。
get_save_file_name(title, filter) 打开文件以保存对话框。
get_string(message, title, default_response) 简单的文本输入对话框。
get_username_password(title, labels) 获取用户名和密码。
get_yes_or_no(question, title) 让用户选择yes或no。

在下面的程序中,点击绘图窗口,打开颜色对话框,选择一个颜色,将其设置为背景。

from easygraphics import *
from easygraphics.dialog import *

def main():
    init_graph(600, 400)
    set_render_mode(RenderMode.RENDER_MANUAL)

    while is_run():
        if has_mouse_msg():
            x, y, type, buttons = get_mouse_msg()
            if type == MouseMessageType.PRESS_MESSAGE:
                color = get_color(get_background_color())
                set_background_color(color)
        delay_fps(60)

    close_graph()

easy_run(main)