Widget toolkits like qt/gtk+ have multiple language bindings. Suppose I want to develop an application in c++ but want to use gtk+ C language bindings for my gui. Is it possible to write the source code for the application in one language and use a different language binding for gui? Will the ide interfere too?
Does Qt/Gtk+ allow programming in two languages at once?
274 Views Asked by jdmuroe At
2
There are 2 best solutions below
2
user1431317
On
It's possible to link your C++ app directly to any C library, including GTK+. But why do you want to use the GTK+ C API in C++, when gtkmm gives you a nice C++ interface to GTK+? You can also mix C and C++ APIs in gtkmm.
It's also possible to link C++ compiled code to C, as long as it has the appropriate externs, but it doesn't seem like QT has C bindings.
Related Questions in C++
- How to immediately apply DISPLAYCONFIG_SCALING display scaling mode with SetDisplayConfig and DISPLAYCONFIG_PATH_TARGET_INFO
- Why can't I use templates members in its specialization?
- How to fix "Access violation executing location" when using GLFW and GLAD
- Dynamic array of structures in C++/ cannot fill a dynamic array of doubles in structure from dynamic array of structures
- How do I apply the interface concept with the base-class in design?
- File refuses to compile std::erase() even if using -std=g++23
- How can I do a successful map when the number of elements to be mapped is not consistent in Thrust C++
- Can std::bit_cast be applied to an empty object?
- Unexpected inter-thread happens-before relationships from relaxed memory ordering
- How i can move element of dynamic vector in argument of function push_back for dynamic vector
- Brick Breaker Ball Bounce
- Thread-safe lock-free min where both operands can change c++
- Watchdog Timer Reset on ESP32 using Webservers
- How to solve compiler error: no matching function for call to 'dmhFS::dmhFS()' in my case?
- Conda CMAKE CXX Compiler error while compiling Pytorch
Related Questions in QT
- qt c++ fonction converting adress to coordinates (longitude, latitude)
- Qml table and chart using python
- Qt: running callback in the main thread from the worker thread
- i have installed qt version 6.0.3 and this error QMYSQL driver not loaded displaying again and again
- Frameless Qt + WinAPI maximized window size is bigger than the availableGeometry()
- new window with c++ qt
- How to get scaling from transformation matrix
- How to build just Qt core libraries from Qt sources
- doxyqml not documenting qml files properly
- Incorrect assignment from a QStringList to a char * array
- How to make QT Chart size larger than widget size?
- Queued async operations with QtConcurrent interfere QImage from freed
- Questions about qt5 dynamic link library
- how to document QML files inside C++ project?
- How do I keep my screen contents centered and also have a scrollbar in QT?
Related Questions in WIDGET
- I couldn't figure out why function does not work for a second time in Kivy
- Dropdown Values not change in Flutter Modal
- Widget APL Touch Component Advice
- QT-PyQt-PySide-Custom-Widgets error: No library called cairo was found
- Binding Panel DatetimeRangePicker to plot
- Jira helpdesk widget doesn't create an iframe when script is loaded dynamically
- In Google Dialogflow CX, how do I make sure that links are opened in a new tab?
- Countdown to varying payday in Javascript
- Execution failed for task ':app:compileFlutterBuildDebug'. > Process 'command 'C:\flutter\bin\flutter.bat'' finished with non-zero exit value 1Error:
- Unable to Group by Parent in Stacked bar chart - ADO Dashboard widget
- Read Access Violation when accessing a QBarDataItem in a loop in QLineEdit::editingFinished
- Jupyter Notebook not rendering report with pandas profiling
- WordPress widget deleted
- How to detect if a widget is visible or not in Flutter
- How to add haptics to Button in home screen widget (Glance API) in android
Related Questions in GTK
- Do GTK file chooser dialogs come with localized strings for buttons and titles?
- Why does GTK beep when calling `gtk_entry_set_text` (while resizing a window)?
- Distributing a GTK4 Windows application
- Callback function doesn't modify widget
- getting arguments with g_signal_connect GTK4
- ValueError: Namespace Xdp not available
- How do I link gtk/gtk.h to my compiler in VSCode
- Using GTK v0.18.1 on rust to draw
- How to set transparent background for gtk_plug_new window
- GTK Cairo. Why gtk_widget_queue_draw called from function (in iddle callback) does not work?
- GTK4 Window Created from XML, Closes Immediately After Run()
- How do I receive UDP broadcast packets using GTK / GIO?
- Install Gtk 3.0 problem with depencies in linux
- Ubuntu 22.04 libgtk-3.so: undefined reference to symbol 'gdk_window_hide'
- GTK: "Object with ID not found" error, but the ID is empty
Related Questions in LANGUAGE-BINDING
- Is there a way to generate a vega(-lite) graph from java (other than programming one, from scratch)?
- Use Python to call a JavaScript function that is on a webpage
- Writting a wrapper for a customized lua-based scripting language
- language binding error with Fortran: why won't it link to MPI library?
- Catching fortran runtime errors and signals in C++ binding
- Terminology for function interface/DLL used only to fix parameter types between different languages?
- How a bridging header works in Xcode?
- pybind11 cmake example cannot find the main function
- How can I write a library usable from multiple languages?
- Running C code in Elixir/Erlang: Ports or NIFs?
- calling c code from lua
- What kinds of C++ functions can be placed in a C function pointer?
- Does Qt/Gtk+ allow programming in two languages at once?
- How does calling C or C++ from python work?
- Objective-C binding pointer array to C#
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There are a number of language bindings for Qt. Also those blog entries:
http://www.ics.com/blog/using-qt-alternative-programming-languages-part-1
http://www.ics.com/blog/using-qt-alternative-programming-languages-part-2
Also, you could say that Qt is a "two languages" framework at its core, as it has the QML language for UI. QML is a declarative language that integrates JavaScript for scripting, it is very easy and fast to develop in.
Qt Creator (the IDE) supports natively C, C++, JavaScript, QML and Python code, maybe even more languages.
As for GTK+, I don't really have any production experience with it, but it does have different language bindings too.