标题: 关于PHPGTK的GtkTextView的问题
phpgtk
新手上路
Rank: 1



UID 1217
精华 0
积分 0
帖子 0
阅读权限 10
注册 2007-6-9
发表于 2007-6-18 20:29  资料  个人空间  短消息  加为好友 
关于PHPGTK的GtkTextView的问题

原文地址:http://bbs.phpres.com/viewthread.php?tid=1788


关于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();


?>

程序运行结果





顶部
 



当前时区 GMT+8, 现在时间是 2008-11-21 00:25

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - PHP开源项目网 - Archiver - WAP