8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

gtk_widget_set_size_request() 未按预期运行

Satyajay Prabhakar 2月前

77 0

我创建了一个带有 3 个子项、一个标签和 2 个按钮的 action_bar 小部件。我在 gtk_widget_set_size_request() 方法中尝试了多种宽度和高度尺寸。无论我设置的尺寸是多少...

我创建了一个带有 3 个子项、一个标签和 2 个按钮的 action_bar 小部件。我在该方法中尝试了多种宽度和高度尺寸 gtk_widget_set_size_request() 。无论我将操作栏的尺寸设置为多少,无论窗口本身的大小如何,操作栏的高度始终相同。

这是我为整个项目编写的代码。很抱歉,所有代码都挤在一起了。我遇到了一些复制和粘贴问题...

#include <gtk/gtk.h>
#include <pango/pango.h>
#include <stdio.h>
//READERS! This code is meant to be easily read for people who want to learn!
//Handles initializing the window
static void activateWindow(GtkApplication *app) {
        GtkWidget *window = gtk_application_window_new(app);
        //TopActionBar | Creation
        GtkWidget *topActionBar = gtk_action_bar_new();
        //This line is the issue.
        gtk_widget_set_size_request(GTK_WIDGET(topActionBar), -1, 17);
        //TopActionBar | TITLE
                GtkWidget *bideLabel = gtk_label_new(NULL);
                gchar *bideLabelText = g_markup_printf_escaped("<b>BIDE</b>");
                gtk_label_set_markup(GTK_LABEL(bideLabel), bideLabelText);
                gtk_action_bar_pack_start(GTK_ACTION_BAR(topActionBar), GTK_WIDGET(bideLabel));
                //TopActionBar | Open Folder Button
                GtkWidget *openFolder = gtk_button_new();
                gtk_button_set_label(GTK_BUTTON(openFolder), "Open Folder");
                gtk_action_bar_pack_start(GTK_ACTION_BAR(topActionBar), GTK_WIDGET(openFolder));
                //TopActionBar | Help Menu Button
                gchar *helpButtonText = g_markup_printf_escaped("<u>HELP</u>");
                GtkWidget *helpButton = gtk_button_new();
                GtkWidget *helpLabel = gtk_label_new("Help");
                gtk_label_set_markup(GTK_LABEL(helpLabel), helpButtonText);
                gtk_button_set_child(GTK_BUTTON(helpButton), GTK_WIDGET(helpLabel));
                gtk_action_bar_pack_start(GTK_ACTION_BAR(topActionBar), GTK_WIDGET(helpButton));
        gtk_window_set_child(GTK_WINDOW(window), GTK_WIDGET(topActionBar));
        gtk_window_present(GTK_WINDOW(window));

}
int main(int argc, char *argv[]){
        GtkApplication *app = gtk_application_new("me.lufthor.bide", G_APPLICATION_DEFAULT_FLAGS);
        g_signal_connect(app, "activate", G_CALLBACK(activateWindow), NULL);
        return g_application_run(G_APPLICATION(app), argc, argv);

}

我尝试调整高度和宽度值,但没有任何变化。

帖子版权声明 1、本帖标题:gtk_widget_set_size_request() 未按预期运行
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Satyajay Prabhakar在本站《c》版块原创发布, 转载请注明出处!
最新回复 (0)
  • @RyanZhang 提供的链接回答了“为什么应用程序退出时会刷新缓冲区”:“当同一设备上即将发生输入时,必须刷新缓冲区”或“当相关文件关闭时,缓冲区也会刷新”。但似乎在 OP 的示例中,在没有输入的情况下,应用程序退出之前会打印换行符。

返回
作者最近主题: