2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
1

wxWidgets и wxNotebook

03.08.2023, 13:00. Показов 1505. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Имеем:
1. wxWidgets 3.2.2;
2. класс wxNotebook.

Что не работает:
После сборки и при запуске программы появляется ошибка(смотри картинку):
./include/wx/withimages.h(254): assert ""Assert failure"" failed in GetBitmapBundle(): Image index specified, but there are no images.
Did you forget to call Setlmages()?
wxWidgets и wxNotebook


Часть кода с использованием этого класса:
Код
...
m_wxNotebook = new wxNotebook (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
m_wxNotebook->SetFont (*m_font);
...
m_wxNotebook->AddPage (panelBookmark1, wxT("111"), false, 0);
...
Вопрос:
1. Как исправить ситуацию ?
2. Мне установить нулевую картинку ? если так то получаю еще ошибки:

Части кода:

m_ClassObject.cpp
C++
1
2
3
4
5
6
...
const char* iconXpm [] = { много символов };
...
wxBitmap* wxBitmap1 = new wxBitmap (iconXpm);
m_wxIcon111 = new wxIcon ();
m_wxIcon111->CopyFromBitmap (*wxBitmap1);
main.cpp
C++
1
2
3
4
5
6
7
8
9
...
wxImageList* wxImageList1 = new wxImageList (16, 16, true, 4);
wxImageList1->Add (*(m_ClassObject->m_wxIcon111) );
wxImageList1->Add (*(m_ClassObject->m_wxIcon111) );
wxImageList1->Add (*(m_ClassObject->m_wxIcon111) );
wxImageList1->Add (*(m_ClassObject->m_wxIcon111) );
m_wxNotebook->SetImages(wxImageList1);
...
// далее код с m_wxNotebook, смотри выше.
ну и ошибка:
error: cannot convert 'wxImageList*' to 'const Images?' {aka 'const wxVector<wxBitmapBundle>&'}
wxWidgets и wxNotebook


Я рассыпался, я не понимаю что происходит. Со второй ошибкой пробовал и в стеке создавать и что только не пробовал.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2023, 13:00
Ответы с готовыми решениями:

Qt vs wxWidgets
Здравствуйте! Объясните, пожалуйста, чем по сути отличается создание оконных приложений с помощью...

WxWidgets
Надеюсь здесь мне кто то поможет. Мне нужно создать шрифт, который обводит буквы....

Wxwidgets
Добрый день! На данный момент пытаюcь поставить библиотеку Wxwidgets на Visual Studio 2019. Но...

wxWidgets 2.9.3
Решил установить wxWidgets 2.9.3. Компилировал с помощью MinGW, вот так mingw32-make -f...

7
2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
03.08.2023, 13:24  [ТС] 2
вот тестовая программа. В linux выдает ошибку, в Windows все ок.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <wx/wx.h>
#include <wx/notebook.h>
 
class wxNotebookWindow : public wxFrame {
    public:
        wxNotebook* m_notebook1;
 
    public:
        wxNotebookWindow (const wxString& aTitle)
                : wxFrame (0, wxID_ANY, aTitle, wxDefaultPosition, wxSize (250, 250), wxDEFAULT_FRAME_STYLE) {
 
            m_notebook1 = new wxNotebook (this, wxID_ANY, wxDefaultPosition,
                                                        wxDefaultSize, 0,
                                                        wxT ("111"));
            wxPanel* panel1 = new wxPanel (m_notebook1, wxID_ANY);
            m_notebook1->AddPage (panel1, wxT("panel1"), false, 0);
 
            wxBoxSizer* boxSizer1 = new wxBoxSizer (wxVERTICAL);
            boxSizer1->Add (m_notebook1, 1, wxEXPAND, 5);
 
            this->SetSizer (boxSizer1);
 
            Center();
        }
};
 
class Main : public wxApp {
    public:
        virtual bool OnInit () {
            wxNotebookWindow* wxNotebookWindow1
                                                    =
                    new wxNotebookWindow (wxT("wxNotebook"));
            wxNotebookWindow1->Show (true);
 
            return true;
        }
};
 
IMPLEMENT_APP (Main)
Добавлено через 10 минут
код примера в исходнике у wxWidgets мне не понятен.
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,237
03.08.2023, 14:09 3
Цитата Сообщение от Palich Посмотреть сообщение
код примера в исходнике у wxWidgets мне не понятен.
Но сам пример запускается и отрабатывает нормально?
0
2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
03.08.2023, 14:24  [ТС] 4
да, запускается что в Windows, что Linux без ошибок.

Добавлено через 47 секунд
он настолько непонятен, что я не понимаю откуда какой кусок можно скопировать для теста.
0
2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
03.08.2023, 14:27  [ТС] 5
в архиве исходник от wxWidgeta
Вложения
Тип файла: zip notebook.zip (8.9 Кб, 2 просмотров)
0
6091 / 3449 / 1402
Регистрация: 07.02.2019
Сообщений: 8,768
04.08.2023, 12:52 6
Лучший ответ Сообщение было отмечено Palich как решение

Решение

Цитата Сообщение от Palich Посмотреть сообщение
1. Как исправить ситуацию ?
Не назначать невалидный индекс картинки для страницы в AddPage.
Почему вы последним аргументом передаете индекс 0?
По-умолчанию там должно быть NO_IMAGE (константа -1).
С аргументами по-умолчанию в вашем случае последние два вообще явно прописывать не нужно).
Цитата Сообщение от Palich Посмотреть сообщение
m_wxNotebook->SetImages(wxImageList1);
А что это за метод? Я нашел только SetImageList унаследованный от wxWithImages.
1
2 / 2 / 0
Регистрация: 07.04.2016
Сообщений: 248
06.08.2023, 11:36  [ТС] 7
Цитата Сообщение от zayats80888 Посмотреть сообщение
По-умолчанию там должно быть NO_IMAGE (константа -1).
думал 0.
Посмотрел более внимательно оф. сайт, пропустил строку где указывалось NO_IMAGE = -1, думал, это будет указано в тексте к методу, а нет, отдельно указали.

Цитата Сообщение от zayats80888 Посмотреть сообщение
Я нашел только SetImageList унаследованный от wxWithImages.
а это уже мозги мои сплавились. Ошибся.

С wxNotebook ситуацию понял: я балбес.
0
zayats80888
06.08.2023, 11:44     wxWidgets и wxNotebook
  #8

Не по теме:

Цитата Сообщение от Palich Посмотреть сообщение
Ошибся.
Нет, это я смотрел документацию на более раннюю версию.
В 3.2.2 есть такая функция, но там семантика немного другая.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2023, 11:44

wxWidgets
делаю презентацию по теме: Кроссплатформенный текстовый редактор с использованием библиотеки...

WxWidgets
Здравствуйте, пытаюсь откомпилировать пример wxMathPlot-0.1.2\samples\sample. IDE - codeblocks...

Wxwidgets
Доброй вечер! Недавно начал изучать курс по роботе с библиотекой Wxwidgets, но к сожалению не...

wxWidgets и Qt
Решил поднять такой вопрос: &quot;А нужны ли нам wxWidgets, Qt или другие какие кросплатформенные...

wxWidgets, no resources
Пытаюсь прикрутить библиотеку wxWidgets к gcc. Создаю проект, компилирую, ошибка no resources...

WinAPI vs wxWidgets
Хочу перевести свое консольное приложение в нормальный вид. Опыта написания приложений виндовс...

Изображения в wxWidgets
Необходимо создать wxBitmapButton и установить ей картинку из файла относительно местоположения к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru