Add gtk example
This commit is contained in:
10
CMakeLists.txt
Normal file
10
CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
|
project(PiCamera)
|
||||||
|
|
||||||
|
# Find gtk+-2.0 library
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
|
||||||
|
|
||||||
|
add_subdirectory(src)
|
||||||
20
src/CMakeLists.txt
Normal file
20
src/CMakeLists.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
add_executable(
|
||||||
|
JAMCS
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
target_include_directories(
|
||||||
|
JAMCS
|
||||||
|
PRIVATE
|
||||||
|
${GTK2_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
target_link_directories(
|
||||||
|
JAMCS
|
||||||
|
PRIVATE
|
||||||
|
${GTK2_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
target_link_libraries(
|
||||||
|
JAMCS
|
||||||
|
PRIVATE
|
||||||
|
${GTK2_LIBRARIES}
|
||||||
|
)
|
||||||
|
add_definitions (${GTK2_CFLAGS_OTHER})
|
||||||
19
src/main.cpp
Normal file
19
src/main.cpp
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
void end_program(GtkWidget *wid, gpointer ptr)
|
||||||
|
{
|
||||||
|
gtk_main_quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
gtk_init(&argc, &argv);
|
||||||
|
GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
|
GtkWidget *btn = gtk_button_new_with_label("Close Window");
|
||||||
|
g_signal_connect(btn, "clicked", G_CALLBACK(end_program), NULL);
|
||||||
|
g_signal_connect(win, "delete_event", G_CALLBACK(end_program), NULL);
|
||||||
|
gtk_container_add(GTK_CONTAINER(win), btn);
|
||||||
|
gtk_widget_show_all(win);
|
||||||
|
gtk_main();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user