не может конвертировать GtkWidget в GtkWindow - PullRequest
0 голосов
/ 12 января 2020

Я здесь очень тупой. У меня есть сильные навыки 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;
}

Я пытаюсь заставить окно появляться без строки заголовка.

...