У меня есть приложение переменного тока, работающее под Linux, у него есть одно окно, которое загружается при запуске (окно 0), оно должно вызывать любое из 4 окон (окно 1 - 4)
моя проблема в том, что я не могу понятьузнать, как вызвать вторичное окно и переключиться на него.
Любая помощь приветствуется.
в S0.glade У меня есть 4 кнопки, каждая из которых вызывает процедуру diff, которая должна загружать одно из 4 окон.
Я просто не уверен, как это сделать.Я гуглил 3 дня и не придумал, что мне нужно.Пробовал много, но не повезло.это моя первая попытка чего-либо с помощью gtk.Просто перемещаюсь из-под VB.net под окнами, и я теряюсь ...
мой код выглядит так в моем основном цикле
int main(int argc, char * argv[])
{
GtkBuilder *builder;
/* init threads */
gtk_init(&argc, &argv);
builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "S0.glade", NULL);
gtk_builder_add_from_file (builder, "S1.glade", NULL);
gtk_builder_add_from_file (builder, "S2.glade", NULL);
gtk_builder_add_from_file (builder, "S3.glade", NULL);
window = GTK_WIDGET(gtk_builder_get_object(builder, "Mini"));
g_lblStatus1 = GTK_WIDGET(gtk_builder_get_object(builder, "lblStatus1"));
g_lblStatus2 = GTK_WIDGET(gtk_builder_get_object(builder, "lblStatus2"));
g_lblStatus3 = GTK_WIDGET(gtk_builder_get_object(builder, "lblStatus3"));
g_lblStatus4 = GTK_WIDGET(gtk_builder_get_object(builder, "lblStatus4"));
g_T1_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T1_Size"));
g_T2_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T2_Size"));
g_T3_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T3_Size"));
g_T4_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T4_Size"));
g_T5_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T5_Size"));
g_T6_Size = GTK_WIDGET(gtk_builder_get_object(builder, "T6_Size"));
g_S_1_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_1_Status"));
g_S_2_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_2_Status"));
g_S_3_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_3_Status"));
g_S_4_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_4_Status"));
g_S_5_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_5_Status"));
g_S_6_Status = GTK_WIDGET(gtk_builder_get_object(builder, "S_6_Status"));
g_P_1 = GTK_WIDGET(gtk_builder_get_object(builder, "P_1"));
g_P_2 = GTK_WIDGET(gtk_builder_get_object(builder, "P_2"));
g_P_3 = GTK_WIDGET(gtk_builder_get_object(builder, "P_3"));
g_P_4 = GTK_WIDGET(gtk_builder_get_object(builder, "P_4"));
g_P_5 = GTK_WIDGET(gtk_builder_get_object(builder, "P_5"));
g_P_6 = GTK_WIDGET(gtk_builder_get_object(builder, "P_6"));
g_V_1 = GTK_WIDGET(gtk_builder_get_object(builder, "V_1"));
g_V_2 = GTK_WIDGET(gtk_builder_get_object(builder, "V_2"));
g_V_3 = GTK_WIDGET(gtk_builder_get_object(builder, "V_3"));
g_V_4 = GTK_WIDGET(gtk_builder_get_object(builder, "V_4"));
g_V_5 = GTK_WIDGET(gtk_builder_get_object(builder, "V_5"));
g_V_6 = GTK_WIDGET(gtk_builder_get_object(builder, "V_6"));
g_CSLN = GTK_WIDGET(gtk_builder_get_object(builder, "CSLN"));
g_CBLN = GTK_WIDGET(gtk_builder_get_object(builder, "CBLN"));
g_CS_Volume = GTK_WIDGET(gtk_builder_get_object(builder, "CS_Volume"));
g_CB_Volume = GTK_WIDGET(gtk_builder_get_object(builder, "CB_Volume"));
g_Q_1 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_1"));
g_Q_2 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_2"));
g_Q_3 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_3"));
g_Q_4 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_4"));
g_Q_5 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_5"));
g_Q_6 = GTK_WIDGET(gtk_builder_get_object(builder, "Q_6"));
// Images
g_img1 = (GtkImage *)gtk_builder_get_object(builder, "img1");
g_img2 = (GtkImage *)gtk_builder_get_object(builder, "img2");
g_img3 = (GtkImage *)gtk_builder_get_object(builder, "img3");
g_img4 = (GtkImage *)gtk_builder_get_object(builder, "img4");
g_img5 = (GtkImage *)gtk_builder_get_object(builder, "img5");
g_img6 = (GtkImage *)gtk_builder_get_object(builder, "img6");
g_img7 = (GtkImage *)gtk_builder_get_object(builder, "img7");
gtk_builder_connect_signals(builder, NULL);
g_object_unref(builder);
gtk_widget_show(window);
Set_Filler_Images();
gtk_main();
return 0;
}
Я хочу, чтобы он вызывал, скажем, окно 1 с кнопки наS0.glade и включите его.
кодировка, которую я показал, является общей для файлов S1, s2 и S3 glade.