- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将 GtkBuilder
与 Glade XML 文件一起使用。我想在不使用 gtk_window_fullscreen
方法的情况下将窗口的大小更改为全屏(因为这需要在没有窗口管理器的情况下工作),所以我获取屏幕尺寸并将窗口设置为该尺寸。这曾经在我以编程方式创建小部件时起作用,但是当我切换到 Glade/GtkBuilder
时,窗口的尺寸与在 Glade 编辑器中一样小。我是否必须对 GtkBuilder
做一些不同的事情?这是代码:
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkBuilder *builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "dm.ui", NULL);
GObject *window = gtk_builder_get_object(builder, "window");
// Make full screen
GdkScreen *screen = gdk_screen_get_default();
gint height = gdk_screen_get_height(screen);
gint width = gdk_screen_get_width(screen);
gtk_window_set_default_size(GTK_WINDOW(window), width, height);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
}
这是 XML 文件,dm.ui:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.2 -->
<interface>
<requires lib="gtk+" version="3.12"/>
<object class="GtkWindow" id="window">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLayout" id="main_layout">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkEntry" id="user_text_field">
<property name="width_request">162</property>
<property name="height_request">31</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_right">42</property>
</object>
<packing>
<property name="x">175</property>
<property name="y">73</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="user_label">
<property name="width_request">100</property>
<property name="height_request">80</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Username</property>
</object>
<packing>
<property name="x">71</property>
<property name="y">46</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="password_label">
<property name="width_request">100</property>
<property name="height_request">80</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Password</property>
</object>
<packing>
<property name="x">72</property>
<property name="y">103</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password_text_field">
<property name="width_request">162</property>
<property name="height_request">31</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="x">177</property>
<property name="y">129</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
最佳答案
你可以尝试使用
void gtk_widget_set_size_request(GtkWidget *widget, gint width, gint height);
或者您可以使用 Glade 调整“默认宽度”和“默认高度”的 GtkWindow 属性,而不是对其进行硬编码。让我知道结果。p.s:这就是我讨厌 Glade 的原因 :(
关于使用 GtkBuilder 时无法更改 GtkWindow 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531224/
我正在尝试学习 C++,但我找不到是否可以用这种方式扩展一个类: 主.cc #include "mWindow.h" using namespace std; int main( int argc,
我正在使用此代码从网络检索和显示图像: class Display(object): def __init__(self): self.window = gtk.Window(
我正在使用 C 和 Glade 以及 GTK 3。我想创建一种简单的编程语言。我创建了基础知识:代码编辑器、输出窗口等。但是当用户关闭输出窗口并尝试重新打开时,此消息显示: (ltc:3443): G
我想在两个 TOPLEVEL GtkWindow 之间进行通信。 例如,我双击GtkTreeView中的行,新的GtkWindow用于修改该行的上下文。 但是,除了声明一个全局变量来传递结构体之外,我
我正在尝试一个简单的示例 Gtk 程序并使用 GtkTable 来对齐我的小部件。 我的布局应该是: 窗口背景为黑色。按钮应该是白色的,而按钮上的文字应该是黑色的。所有标签都应为白色,以便在黑色窗口背
我正在尝试制作一个 C 程序的测试版本,用户可以在其中使用 GTK 文件选择器加载游戏关卡。它似乎有效,并且确实打开了文件选择器窗口,但是当用户尝试选择文件时崩溃。问题似乎是 GtkWindow 没有
我有一个简单的 C GTK Linux 应用程序,它需要将主窗口的背景设置为来自 GIF 的图像文件。我做了一些阅读,看来我应该能够做到以下几点: 1- stuff the background im
我的任务是在程序启动时恢复窗口 frame 在屏幕上的位置 - 以便定义初始窗口位置。 考虑以下在 Linux 上装饰的 GtkWindow 实例: 窗口有两个主要框:框架框和客户框。 还有两个 GT
如何将 HTML 页面渲染到 gtkwindow 中?比如说,我已经有一个下载/编写的 HTML 页面。我想在我的 gtk 应用程序中呈现该页面的内容。我该如何实现? 最佳答案 我已经尝试了 GtkH
在我的 Gtk-Gdk-Cairo-Pango 应用程序的开头,我创建了窗口: GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 首
我有以下结构, typedef struct _MainWin { GtkWindow parent; GtkWidget* scroll;
我将 GtkBuilder 与 Glade XML 文件一起使用。我想在不使用 gtk_window_fullscreen 方法的情况下将窗口的大小更改为全屏(因为这需要在没有窗口管理器的情况下工作)
我找不到如何做到这一点 :( 有 gtk_window_set_resizable,但它完全禁用调整大小,我仍然希望我的窗口水平调整大小。有什么想法吗? 最佳答案 我相信你可以尝试使用 gtk_win
我想让背景透明,只有小部件可见。 这是我的代码: #include int main (int argc, char *argv[]) { gtk_init (&argc, &argv);
1、我查了很多关于在 Gtk 中在 GtkWindow 中绘制矩形的引用资料,但很多都是使用 GtkDrawingArea 。我想知道我可以在没有 GtkDrawingArea 的情况下直接在 Gtk
我想在 GtkEventBox 中设置 GtkWindow 的不透明度。 gtk_event_box_set_visible_window(GTK_EVENT_BOX(eventbox), TRUE)
我安装了 32 位 Linux 版本的 Eclipse for Java EE Developers在 Linux 服务器上,我在从 Linux 机器启动 eclipse 时遇到问题。我编辑了我的 e
我是一名优秀的程序员,十分优秀!