0

我需要在 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);

如何调整对话框大小?(字符串应该排成一行)

谢谢和问候

leon22

4

1 回答 1

0

如果我是正确的,您不想使用新行来增加对话框窗口的高度。

怎么做没有区别,和所有其他小部件一样,只是使用set_size_request方法。此外,每当您遇到此类问题时,只需告诉 php 获取可用的方法。

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

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();
?>
于 2012-05-20T22:10:32.913 回答