LINUX.ORG.RU

Сообщения tumanovalex

 

GTK4-работа с виджетами

Форум — Development

Здравствуйте! Никак не пойму приведение типов для виджетов. В программе:

#include <gtk/gtk.h>
#include <stdio.h>
 
static void app_activate (GApplication *app)
{
  GtkWidget *win = gtk_application_window_new (GTK_APPLICATION (app));
  gtk_window_set_title (GTK_WINDOW (win), "Тест");
  gtk_window_set_default_size (GTK_WINDOW (win), 400, 300);
  GtkWidget *nb = gtk_notebook_new(); // GtkNotebook
  gtk_window_set_child (GTK_WINDOW (win),nb);
  GtkWidget *lblTab1 = gtk_label_new("Настройки");
  GtkWidget *pnd1 = gtk_paned_new(GTK_ORIENTATION_VERTICAL);
  gtk_notebook_append_page(GTK_NOTEBOOK(nb), pnd1, lblTab1);
  GtkWidget *lblTab2 = gtk_label_new("Графики");
  GtkWidget *pnd2 = gtk_paned_new(GTK_ORIENTATION_VERTICAL);
  gtk_notebook_append_page(GTK_NOTEBOOK(nb), pnd2, lblTab2);
  GtkWidget *lblPnd1 = gtk_label_new("Первый элемент");
//  gtk_window_set_child (GTK_PANED(pnd1), lblPnd1); // Ошибка
//  gtk_window_set_child (pnd1, lblPnd1); // Ошибка
//  gtk_window_set_child (GTK_WINDOW(pnd1), lblPnd1); // Ошибка
//  gtk_window_set_child (GTK_WIDGET(pnd1), lblPnd1); // Ошибка
  gtk_window_present (GTK_WINDOW (win));
}
 
int main (int argc, char **argv)
{
  GtkApplication *app = gtk_application_new ("mainwin.study", G_APPLICATION_DEFAULT_FLAGS);
  g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL);
  int stat =g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);
  system("pause");
  return stat;
}

Не удается правильно привезти указатель на виджет lblPnd1 к нужному типу в gtk_window_set_child. Помогите, пожалуйста, разобраться (когда и как нужно преобразовывать различные типы виджетов).

 

tumanovalex
()

Astra Linux и VirtualBox

Форум — General

Столкнулся с той же проблемой, что и в теме https://forum.astralinux.ru/threads/5123/. Может быть кто-нибудь знает ее решение?

 

tumanovalex
()

RSS подписка на новые темы