Я создаю графический интерфейс с использованием wxwidgets в C ++, однако одна проблема, которую я возникаю, - это то, что кнопки не загружаются должным образом, когда я использую фон wxstaticbitmap. < /p>
Я перенес код Повсюду в разных заказах, чтобы положить кнопки в верхнюю часть фонового изображения, однако приложение будет загружаться только с фоновым растровым картой, а также сначала WXSTATICTEXTEXT и показывает кнопки только при наведении мыши над ними, даже когда я запускаю Файл .exe Это все еще происходит. и Update (); И это просто не работает. Любые идеи были бы очень оценены. (Функциональность кнопок, и все в порядке, как только они будут видны, но они просто не отображаются сразу, когда загружается кадр.) < /P>
Вот код для мэйнфрейма. /p>
#define _CRT_SECURE_NO_WARNINGS // get rid of warnings preventing compilation
#include "MainFrame.h"
#include
#include "TopicQuestionsFrame.h"
#include "FlashcardsFrame.h"
#include "PopQuizFrame.h"
#include "LeaderboardFrame.h"
#include "CustomisationFrame.h"
#include "ClassroomFrame.h"
#include "FriendsFrame.h"
#include
#include "FrameUtilities.h"
MainFrame::MainFrame(const wxString& title) : wxFrame(nullptr, wxID_ANY, title) {
wxPanel* panel = new wxPanel(this); // creates the panel which the controls will be attached to
this->SetClientSize(800, 800);
this->SetMinSize(GetSize());
this->SetMaxSize(GetSize());
// image handling
wxImage::AddHandler(new wxPNGHandler());
wxBitmap image_bitmap("E:/Coding/Pro 7/Images/backgroundfinal.png", wxBITMAP_TYPE_PNG);
// this tells the program where to fetch the image files
wxBitmap friends_button_bitmap("E:/Coding/Pro 7/Images/friendstab.png", wxBITMAP_TYPE_PNG);
wxBitmap classroom_button_bitmap("E:/Coding/Pro 7/Images/classroomtab.png", wxBITMAP_TYPE_PNG);
this->SetBackgroundColour("#c2cbc6"); // this sets the background colour of the window to the given hex code
// background and button images
wxStaticBitmap* background_gui = new wxStaticBitmap(this, wxID_ANY, image_bitmap, wxPoint(0, 0));
wxBitmapButton* friends_tab = new wxBitmapButton(panel, wxID_ANY, friends_button_bitmap, wxPoint(660, 10), wxSize(102, 92));
wxBitmapButton* classroom = new wxBitmapButton(panel, wxID_ANY, classroom_button_bitmap, wxPoint(60, 10), wxSize(102, 92));
// font
wxFont streak_font(36, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD);
// buttons
wxButton* topic_questions = new wxButton(panel, wxID_ANY, "Topic Questions", wxPoint(300, 125), wxSize(245, 85));
wxButton* flashcards = new wxButton(panel, wxID_ANY, "Flashcards", wxPoint(300, 245), wxSize(245, 85));
wxButton* pop_quiz = new wxButton(panel, wxID_ANY, "Pop Quiz", wxPoint(300, 365), wxSize(245, 85));
wxButton* customisation = new wxButton(panel, wxID_ANY, "Customisation", wxPoint(300, 485), wxSize(245, 85));
wxButton* leaderboard = new wxButton(panel, wxID_ANY, "Leaderboard", wxPoint(300, 605), wxSize(245, 85));
// binds
topic_questions->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 1); // CreateFrame is called with the current frame, evt and the integer id 1
}); // which allows it to be uniquely identified
// FrameUtilities:: tells the file where to call the function from.
flashcards->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
pop_quiz->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
customisation->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
leaderboard->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
classroom->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
friends_tab->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
// text
wxStaticText* daily_streak = new wxStaticText(this, wxID_ANY, "52", wxPoint(395, 10));
daily_streak->SetFont(streak_font);
}
< /code>
Вот как выглядит кадр, когда он сначала загружается. src = "https://i.sstatic.net/jfptdil2.png"/>
Вот как рама ухаживаю за тем, чтобы я навредил мышью над всеми кнопками.
Подробнее здесь: https://stackoverflow.com/questions/794 ... -correctly
Wxbuttons неправильно загружается ⇐ C++
Программы на C++. Форум разработчиков
1738685346
Anonymous
Я создаю графический интерфейс с использованием wxwidgets в C ++, однако одна проблема, которую я возникаю, - это то, что кнопки не загружаются должным образом, когда я использую фон wxstaticbitmap. < /p>
Я перенес код Повсюду в разных заказах, чтобы положить кнопки в верхнюю часть фонового изображения, однако приложение будет загружаться только с фоновым растровым картой, а также сначала WXSTATICTEXTEXT и показывает кнопки только при наведении мыши над ними, даже когда я запускаю Файл .exe Это все еще происходит. и Update (); И это просто не работает. Любые идеи были бы очень оценены. (Функциональность кнопок, и все в порядке, как только они будут видны, но они просто не отображаются сразу, когда загружается кадр.) < /P>
Вот код для мэйнфрейма. /p>
#define _CRT_SECURE_NO_WARNINGS // get rid of warnings preventing compilation
#include "MainFrame.h"
#include
#include "TopicQuestionsFrame.h"
#include "FlashcardsFrame.h"
#include "PopQuizFrame.h"
#include "LeaderboardFrame.h"
#include "CustomisationFrame.h"
#include "ClassroomFrame.h"
#include "FriendsFrame.h"
#include
#include "FrameUtilities.h"
MainFrame::MainFrame(const wxString& title) : wxFrame(nullptr, wxID_ANY, title) {
wxPanel* panel = new wxPanel(this); // creates the panel which the controls will be attached to
this->SetClientSize(800, 800);
this->SetMinSize(GetSize());
this->SetMaxSize(GetSize());
// image handling
wxImage::AddHandler(new wxPNGHandler());
wxBitmap image_bitmap("E:/Coding/Pro 7/Images/backgroundfinal.png", wxBITMAP_TYPE_PNG);
// this tells the program where to fetch the image files
wxBitmap friends_button_bitmap("E:/Coding/Pro 7/Images/friendstab.png", wxBITMAP_TYPE_PNG);
wxBitmap classroom_button_bitmap("E:/Coding/Pro 7/Images/classroomtab.png", wxBITMAP_TYPE_PNG);
this->SetBackgroundColour("#c2cbc6"); // this sets the background colour of the window to the given hex code
// background and button images
wxStaticBitmap* background_gui = new wxStaticBitmap(this, wxID_ANY, image_bitmap, wxPoint(0, 0));
wxBitmapButton* friends_tab = new wxBitmapButton(panel, wxID_ANY, friends_button_bitmap, wxPoint(660, 10), wxSize(102, 92));
wxBitmapButton* classroom = new wxBitmapButton(panel, wxID_ANY, classroom_button_bitmap, wxPoint(60, 10), wxSize(102, 92));
// font
wxFont streak_font(36, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD);
// buttons
wxButton* topic_questions = new wxButton(panel, wxID_ANY, "Topic Questions", wxPoint(300, 125), wxSize(245, 85));
wxButton* flashcards = new wxButton(panel, wxID_ANY, "Flashcards", wxPoint(300, 245), wxSize(245, 85));
wxButton* pop_quiz = new wxButton(panel, wxID_ANY, "Pop Quiz", wxPoint(300, 365), wxSize(245, 85));
wxButton* customisation = new wxButton(panel, wxID_ANY, "Customisation", wxPoint(300, 485), wxSize(245, 85));
wxButton* leaderboard = new wxButton(panel, wxID_ANY, "Leaderboard", wxPoint(300, 605), wxSize(245, 85));
// binds
topic_questions->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 1); // CreateFrame is called with the current frame, evt and the integer id 1
}); // which allows it to be uniquely identified
// FrameUtilities:: tells the file where to call the function from.
flashcards->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
pop_quiz->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
customisation->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
leaderboard->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
classroom->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
friends_tab->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
FrameUtilities::CreateFrame(this, evt, 2);
});
// text
wxStaticText* daily_streak = new wxStaticText(this, wxID_ANY, "52", wxPoint(395, 10));
daily_streak->SetFont(streak_font);
}
< /code>
Вот как выглядит кадр, когда он сначала загружается. src = "https://i.sstatic.net/jfptdil2.png"/>
Вот как рама ухаживаю за тем, чтобы я навредил мышью над всеми кнопками.
Подробнее здесь: [url]https://stackoverflow.com/questions/79412332/wxbuttons-not-loading-correctly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия