1
?- new(B, button(hello,
                 message(@pce, write_ln, hello))).

在 xpce/prolog 中,这种创建按钮来打印句子的方法有没有什么方法可以让我在单击按钮时执行一些功能,请帮忙!

4

1 回答 1

3

Help > XPCE manual > Browsers > Examples > Obtainers+右键+Select可以看到一个实际的例子。

create_person_dialog :-
    new(D, dialog('Enter new person')),
    send(D, append, new(label)),    % for reports
    send(D, append, new(Name, text_item(name))),
    send(D, append, new(Age, text_item(age))),
    send(D, append, new(Sex, menu(sex, marked))),

    send(Sex, append, female),
    send(Sex, append, male),
    send(Age, type, int),

    send(D, append,
         button(create, message(@prolog, create_person,
                                Name?selection,
                                Age?selection,
                                Sex?selection))),

    send(D, default_button, create),
    send(D, open).

create_person(Name, Age, Sex) :-
    format('Creating ~w person ~w of ~d years old~n',
           [Sex, Name, Age]).

打开高亮后create_person_dialog,右键单击Consult应该得到(我填写了一些值)

在此处输入图像描述

Create并在控制台中单击输出

Creating male person goofy of 99 years old

通常,您需要将attach按钮连接到某些 GUI 才能获得它们的功能。

高温高压

在此处编辑我在 Windows 上获得的布局

在此处输入图像描述

这两个图像的获取方式有所不同:在 Windows 中Consult,打开帮助主题后,上下文菜单处于活动状态。

于 2012-12-21T10:07:35.073 回答