<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=459292&amp;view=findpost&amp;p=3920315</guid>
        <pubDate>Thu, 03 Apr 2025 15:49:42 +0000</pubDate>
        <title>GTK-работа с виджетами</title>
        <link>https://forum.sources.ru/index.php?showtopic=459292&amp;view=findpost&amp;p=3920315</link>
        <description><![CDATA[tumanovalex: Здравствуйте&#33;<br>
Никак не пойму приведение типов для виджетов. В программе:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;gtk/gtk.h&#62;</div><div class="code_line">#include &#60;stdio.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">static void app_activate (GApplication *app)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;GtkWidget *win = gtk_application_window_new (GTK_APPLICATION (app));</div><div class="code_line">&nbsp;&nbsp;gtk_window_set_title (GTK_WINDOW (win), &quot;Тест&quot;);</div><div class="code_line">&nbsp;&nbsp;gtk_window_set_default_size (GTK_WINDOW (win), 400, 300);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *nb = gtk_notebook_new(); // GtkNotebook</div><div class="code_line">&nbsp;&nbsp;gtk_window_set_child (GTK_WINDOW (win),nb);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *lblTab1 = gtk_label_new(&quot;Настройки&quot;);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *pnd1 = gtk_paned_new(GTK_ORIENTATION_VERTICAL);</div><div class="code_line">&nbsp;&nbsp;gtk_notebook_append_page(GTK_NOTEBOOK(nb), pnd1, lblTab1);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *lblTab2 = gtk_label_new(&quot;Графики&quot;);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *pnd2 = gtk_paned_new(GTK_ORIENTATION_VERTICAL);</div><div class="code_line">&nbsp;&nbsp;gtk_notebook_append_page(GTK_NOTEBOOK(nb), pnd2, lblTab2);</div><div class="code_line">&nbsp;&nbsp;GtkWidget *lblPnd1 = gtk_label_new(&quot;Первый элемент&quot;);</div><div class="code_line">// &nbsp;gtk_window_set_child (GTK_PANED(pnd1), lblPnd1); // Ошибка</div><div class="code_line">// &nbsp;gtk_window_set_child (pnd1, lblPnd1); // Ошибка</div><div class="code_line">// &nbsp;gtk_window_set_child (GTK_WINDOW(pnd1), lblPnd1); // Ошибка</div><div class="code_line">// &nbsp;gtk_window_set_child (GTK_WIDGET(pnd1), lblPnd1); // Ошибка</div><div class="code_line">&nbsp;&nbsp;gtk_window_present (GTK_WINDOW (win));</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main (int argc, char **argv)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;GtkApplication *app = gtk_application_new (&quot;mainwin.study&quot;, G_APPLICATION_DEFAULT_FLAGS);</div><div class="code_line">&nbsp;&nbsp;g_signal_connect (app, &quot;activate&quot;, G_CALLBACK (app_activate), NULL);</div><div class="code_line">&nbsp;&nbsp;int stat =g_application_run (G_APPLICATION (app), argc, argv);</div><div class="code_line">&nbsp;&nbsp;g_object_unref (app);</div><div class="code_line">&nbsp;&nbsp;system(&quot;pause&quot;);</div><div class="code_line">&nbsp;&nbsp;return stat;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>не удается правильно привезти указатель на виджет lblPnd1 к нужному типу в gtk_window_set_child. Помогите, пожалуйста, разобраться (когда и как нужно преобразовывать различные типы виджетов).<br>
<span class="b-attach" data-size="2641" data-hits="64" data-attach-id="66949" data-attach-post-id="3920315">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3920315&amp;attach_id=66949' title='Скачать файл' target='_blank'>gtkLearning.zip</a> (, : 64)
		</span>]]></description>
        <author>tumanovalex</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      </channel>
      </rss>
	