发新话题
打印

关于PHPGTK的GtkTextView的问题

本主题由 phpres 于 2007-6-19 11:20 加入精华

关于PHPGTK的GtkTextView的问题

关于PHPGTK的GtkTextView的问题
复制内容到剪贴板
代码:
<?
// test.php
function quit()
{
    Gtk::main_quit();
}

function print_text()
{
    global $textbuffer;
    // 创建文本缓冲区的起始位置
    $start = $textbuffer->get_start_iter();
    // 创建文本缓冲区的结束位置
    $end = $textbuffer->get_end_iter();

    // 获取缓冲区的内容
    /*
        因为之前已经把textbuffer绑定到了textview了,所以textbuffer的文本就是textview的文本
    */
    $text = $textbuffer->get_text($start,$end);
    echo $text."n";
}

function insert_text()
{
    global $textbuffer;
    $end = $textbuffer->get_end_iter();

    // 向文本缓冲区的结束位置插入文本
    $textbuffer->insert($end,"nnew line",-1);

    /*
    如果想在最开始的位置插入,可以这样做
    $start = $textbuffer->get_start_iter();
    $textbuffer->insert($start,"nnew line",-1);
    */
}

$window = new GtkWindow();
$window->set_default_size(260,100);
$window->set_title("GTK TEXTVIEW");

$window->connect("destroy","quit");

// 创建GtkTextView
$textview = new GtkTextView();
// 创建GktTextBuffer
$textbuffer = new GtkTextBuffer();
// 设置textbuffer的文本为cccccc
$textbuffer->set_text("cccccc");
// 把textbuffer绑定到textview
$textview->set_buffer($textbuffer);

$button1 = new GtkButton("print text");
// 鼠标点击button1时执行print_text函数
$button1->connect("clicked","print_text");

$button2 = new GtkButton("insert text");
// 鼠标点击button2时执行insert_text函数
$button2->connect("clicked","insert_text");

$vbox = new GtkVBox(False,1);
$vbox->pack_start($textview,True,True);
$vbox->pack_start($button1,False,False);
$vbox->pack_start($button2,False,False);


$window->add($vbox);


$window->show_all();
Gtk::main();


?>
程序运行结果




http://www.phpgtk.net/  PHP GTK2 中文教程

TOP

发新话题