c语言实现窗体切换
时间: 2023-08-01 20:06:58 浏览: 116
在 C 语言中,可以使用图形界面库如 GTK+ 或 Qt 来创建窗体,并通过代码来实现窗体之间的切换。
以下是一个使用 GTK+ 实现窗体切换的示例代码:
```c
#include <gtk/gtk.h>
// 定义两个窗体
GtkWidget *window1, *window2;
// 切换到窗体2的回调函数
void switch_window(GtkWidget *widget, gpointer data) {
gtk_widget_hide(window1); // 隐藏窗体1
gtk_widget_show_all(window2); // 显示窗体2
}
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
// 创建窗体1
window1 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window1), "窗体1");
gtk_window_set_default_size(GTK_WINDOW(window1), 200, 200);
g_signal_connect(window1, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// 创建一个按钮,点击后切换到窗体2
GtkWidget *button = gtk_button_new_with_label("切换到窗体2");
g_signal_connect(button, "clicked", G_CALLBACK(switch_window), NULL);
gtk_container_add(GTK_CONTAINER(window1), button);
// 创建窗体2
window2 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window2), "窗体2");
gtk_window_set_default_size(GTK_WINDOW(window2), 200, 200);
g_signal_connect(window2, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// 运行程序,显示窗体1
gtk_widget_show_all(window1);
gtk_main();
return 0;
}
```
运行上述代码,会显示一个窗体1,里面有一个按钮。点击按钮后,窗体1会隐藏,窗体2会显示。
阅读全文