gtkd中的小部件之间的交互

时间:2015-03-14 21:41:11

标签: d gtkd

我正在尝试使用D和gtkd。现在,我有了这个按钮,当我点击它时,我想在另一个小部件中启动一个功能。我怎么能这样做?

这是一些示例代码,它正在运行,但尚未执行,我想要的(当按下SearchButton时,应该调用SearchResultsGrid中的函数):

import gtk.Button;
import gtk.SearchEntry;
import gtk.Main;
import gtk.MainWindow;

import gtk.VBox;
import gtk.Grid;
import std.stdio;

import gdk.Event;
import gtk.Widget;

void main(string[] args)  {
    Main.init(args);

    MainWindow win = new MainWindow("Example");
    win.setDefaultSize(200, 100);
    Box hbox = new Box(Orientation.HORIZONTAL, 2);

    hbox.add(new SearchButton("Search"));
    hbox.add(new SearchResultsGrid());

    win.add(hbox);

    win.showAll();
    Main.run();
}

class SearchButton : Button {
    this(in string text) {
        super(text);
        modifyFont("Arial", 14);
     }

    private bool search(Event event, Widget widget) {

        return true;
    }}

class StarterButton : Button  {
    this(in string text) {
        super(text);
        modifyFont("Arial", 14);
        addOnButtonRelease(&startProgramm);
    }
    private bool startProgramm(Event event, Widget widget)
    {
        return true;  
    } }
class SearchResultsGrid : Grid     {
    public void showResults()    {
        attach( new StarterButton("Start"), 1,1,1,1);
        attach( new StarterButton("Start2"), 2,1,1,1);
    }}

所以,我想在SearchResultsGrid中触发showResults,我的想法是,将SearchResultsGrid对象触发到Main函数中的SearchButton,但这不起作用。

这样做的方式是什么样的呢?

0 个答案:

没有答案