在php中调整GtkMessageDialog的大小

Resize GtkMessageDialog in php

提问人:leon22 提问时间:5/18/2012 更新时间:5/21/2012 访问量:141

问:

我需要在php中调整GtkMessageDialog的大小,以便有足够的空间容纳长字符串(不需要换行)!

创建它:

$dialog = new GtkMessageDialog($this->window, Gtk::DIALOG_MODAL, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, "");

设置消息输出:

$message = "I NEED A LONG STRING TO DISPLAY IN THE DIALOG\n"
$dialog->set_markup($message);

如何调整对话框大小?(字符串应适合一行)

谢谢和问候

莱昂22

PHP 用户界面 php-gtk

评论


答:

0赞 Melsi 5/21/2012 #1

如果我是对的,您不想使用换行符来增加对话窗口的高度。

如何做没有区别,它与所有其他小部件相同,只需使用方法即可。此外,每当您遇到此类问题时,只需告诉 php 以获取可用的方法。set_size_request

因此,对于此示例,您将使用它来获取所有方法:

file_put_contents("out.txt",print_r(get_class_methods($dialog),true));

这是一个完整的示例,可以根据需要设置大小:

<?php
$window = new GtkWindow();
$window->set_size_request(400, 600);
$window->connect_simple('destroy', array('Gtk','main_quit'));

$message = '<b>DO I NEED</b> A LONG STRING TO <b><span foreground="blue"> '.
"DISPLAY IN THE DIALOG?</span></b>\n";

$dialog = new GtkMessageDialog($window, Gtk::DIALOG_MODAL, 
Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, null); 

$dialog->set_size_request(600,400);
$dialog->set_markup($message);

$answer = $dialog->run();
$dialog->destroy(); 

if ($answer == Gtk::RESPONSE_YES) 
    echo "So I need it.";
else if ($answer == Gtk::RESPONSE_NO) 
    echo "I see, I don't need it.";
else 
    echo "Choose something.";

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