jessehk Posted May 5, 2017 Share Posted May 5, 2017 Can anyone explain how I would make a visual interface to use with c++ to create desktop applications and how I would go about doing this. I am currently in the process of learning it from Lynda.com and I am just curious how I would do this. Link to comment Share on other sites More sharing options...
fiveworlds Posted May 5, 2017 Share Posted May 5, 2017 That's a very broad question. On windows, linux or mac? Link to comment Share on other sites More sharing options...
Sensei Posted May 5, 2017 Share Posted May 5, 2017 Can anyone explain how I would make a visual interface to use with c++ to create desktop applications and how I would go about doing this. I am currently in the process of learning it from Lynda.com and I am just curious how I would do this. Assuming you're interested in writing applications for Windows/Intel using Visual Studio Express/Visual Studio Community, https://www.visualstudio.com/ please watch this video tutorial: This tutorial is for C#, but should be pretty easily adopted to C++ (.NET Framework is using Managed C++ version) https://msdn.microsoft.com/en-us/library/aa712574(v=vs.71).aspx ps. Fiveworlds asked the right question, because you didn't specify which platform you're interested in. Link to comment Share on other sites More sharing options...
jessehk Posted May 5, 2017 Author Share Posted May 5, 2017 That's a very broad question. On windows, linux or mac? I work with visual studio on linux Link to comment Share on other sites More sharing options...
fiveworlds Posted May 6, 2017 Share Posted May 6, 2017 (edited) You could use GTK+ for example. #include <gtk/gtk.h> /* This is a callback function. The data arguments are ignored * in this example. More on callbacks below. */ static void hello( GtkWidget *widget, gpointer data ) { g_print ("My first GUI\n"); } static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { /* If you return FALSE in the "delete-event" signal handler, * GTK will emit the "destroy" signal. Returning TRUE means * you don't want the window to be destroyed. * This is useful for popping up 'are you sure you want to quit?' * type dialogs. */ g_print ("delete event occurred\n"); /* Change TRUE to FALSE and the main window will be destroyed with * a "delete-event". */ return TRUE; } /* Another callback */ static void destroy( GtkWidget *widget, gpointer data ) { gtk_main_quit (); } int main( int argc, char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; /* This is called in all GTK applications. Arguments are parsed * from the command line and are returned to the application. */ gtk_init (&argc, &argv); /* create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* When the window is given the "delete-event" signal (this is given * by the window manager, usually by the "close" option, or on the * titlebar), we ask it to call the delete_event () function * as defined above. The data passed to the callback * function is NULL and is ignored in the callback function. */ g_signal_connect (window, "delete-event", G_CALLBACK (delete_event), NULL); /* Here we connect the "destroy" event to a signal handler. * This event occurs when we call gtk_widget_destroy() on the window, * or if we return FALSE in the "delete-event" callback. */ g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL); /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Creates a new button with the label "Hello World". */ button = gtk_button_new_with_label ("Hello World"); /* When the button receives the "clicked" signal, it will call the * function hello() passing it NULL as its argument. The hello() * function is defined above. */ g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL); /* This will cause the window to be destroyed by calling * gtk_widget_destroy(window) when "clicked". Again, the destroy * signal could come from here, or the window manager. */ g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window); /* This packs the button into the window (a gtk container). */ gtk_container_add (GTK_CONTAINER (window), button); /* The final step is to display this newly created widget. */ gtk_widget_show (button); /* and the window */ gtk_widget_show (window); /* All GTK applications must have a gtk_main(). Control ends here * and waits for an event to occur (like a key press or * mouse event). */ gtk_main (); return 0; } You will need to write a program to get the .json to work correctly though since it doesn't seem to use `pkg-config` properly. Edited May 6, 2017 by fiveworlds Link to comment Share on other sites More sharing options...
Sensei Posted May 6, 2017 Share Posted May 6, 2017 (edited) Or you could try Qt for Linuxhttp://doc.qt.io/qt-5/linux.html Qt Creator, with GUI builder/designerhttps://en.wikipedia.org/wiki/Qt_Creator Edited May 6, 2017 by Sensei Link to comment Share on other sites More sharing options...
Manticore Posted May 6, 2017 Share Posted May 6, 2017 I mostly use FLTK (partly because it's used in Bjarne Stroustrup's books which are the standard for college courses and partly because I find it much simpler to use than GTK or QT) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now