Я здесь очень тупой. У меня есть сильные навыки c / c ++, но обычно я пишу на windows. Я впервые работаю над проектом Linux (Raspberry Pi) и пытаюсь создать GUI. Я выбрал GTK для этого, и я сталкиваюсь с проблемой за проблемой, чтобы попытаться заставить ее работать. Итак, сейчас я использую код, скопированный из видео на YouTube, и получил код для запуска. Но когда я пытался изменить некоторые свойства окна, я получаю эту ошибку:
"не может преобразовать 'GtkWidget *' {aka '_GtkWidget *'} в 'GtkWindow *' {aka '_GtkWindow * '} "
Я заметил, что главное окно объявлено как виджет, и я подумал, что, может быть, оно должно быть объявлено как окно, но я получаю ту же ошибку. это код, который работает: (все включения предназначены для остальной части проекта. Я не включил остальную часть кода, потому что он в настоящее время закомментирован)
#include <opencv4/opencv2/core/core.hpp>
#include <opencv4/opencv2/highgui/highgui.hpp>
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/opencv_modules.hpp>
#include <opencv4/opencv2/imgproc.hpp>
#include </usr/include/modbus/modbus.h>
#include <iostream>
#include <unistd.h>
#include <gtk/gtk.h>
int main(int argc, char *argv[]){
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//gtk_window_set_decorated(window, false);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
, а вот код, который не работает:
#include <opencv4/opencv2/core/core.hpp>
#include <opencv4/opencv2/highgui/highgui.hpp>
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/opencv_modules.hpp>
#include <opencv4/opencv2/imgproc.hpp>
#include </usr/include/modbus/modbus.h>
#include <iostream>
#include <unistd.h>
#include <gtk/gtk.h>
int main(int argc, char *argv[]){
GtkWindow *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_decorated(window, false);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
Я пытаюсь заставить окно появляться без строки заголовка.