首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog XPCE对话框返回选项列表

Prolog XPCE对话框返回选项列表
EN

Stack Overflow用户
提问于 2012-05-25 15:32:20
回答 1查看 642关注 0票数 0

我在Prolog中还有另一个问题,我找不到如何解决它的线索。

以下是我的代码

代码语言:javascript
复制
list(Q):-
new(D,dialog('Sehenswuerdigkeiten')),
send_list(D,append,
[
new(Von,menu(von,cycle)),
new(Zu,menu(zu,cycle)),
new(@button,button('Los',message(@prolog,packing,Von?selection,Zu?selection,Q)))

]),
findall(X,sehenwuerdigkeit(X),Y),
send_list(Von, append,Y),
send_list(Zu, append,Y),
send(D,open).

packing(X,Y,Q):-Q=[X,Y]. 

:-consult('sw.pl'),list(Q).

我需要两个周期的选择来启动另一个函数。但是prolog不能打开包装操作。

如果对话框给我Q=first选择,第二个选择回来,问题就解决了。

希望你能帮助我。我对此感到非常沮丧。

EN

回答 1

Stack Overflow用户

发布于 2012-05-25 17:27:36

您应该阅读此页面http://www.swi-prolog.org/packages/xpce/UserGuide/modal.html

代码语言:javascript
复制
list(Q):-
    new(D,dialog('Sehenswuerdigkeiten')),
    send_list(D,append,
      [new(Von,menu(von,cycle)),
       new(Zu,menu(zu,cycle)),
       new(_,
           button('Los',
              message(D,return,[Von,Zu])))]),
    findall(X,city(X),Y),
    send_list(Von, append,Y),
    send_list(Zu, append,Y),
    get(D,confirm, Answer),
    get(Answer, element(1), A),
    get(A, selection, AV),
    get(Answer, element(2), B),
    get(B, selection, BV),
    send(D, destroy),
    Q = [AV, BV].

city(berlin).
city(london).
city(paris).
city(rom).
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10750316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档