LinuxForum.Fans
Тема

Codeblocks wxSmith

Автор: _mellenium_ 6 сообщений 1345 просмотров
22.02.2019 06:49 #430836

Здравствуйте, подскажите как реализовать связь между объектами (например кнопкой и полем) на языке C++?

22.02.2019 10:27 #430837
_mellenium_ написал:
Здравствуйте, подскажите как реализовать связь между объектами (например кнопкой и полем) на языке C++?

Не советую писать программы, используя wxWidgets. Он слишком плохо документирован и редко используется. Рекомендую использовать Qt или GTK.

22.02.2019 11:26 #430838

SUSE_user, ну, у GTK с документацией тоже не очень. К тому же он на plain C

22.02.2019 11:45 #430839

s.xbatob, Тогда однозначно Qt - он на C++, отличная документация и IDE (Qt Creator)

22.02.2019 12:15 #430840

SUSE_user, Да и Qt подтягивается :( На новые компоненты документация заметно хуже. К Creator и QMake тоже вопросы, так что я предпочитаю KDevelop с CMake. Собственно, в KDE от них тоже не просто так отказались.
Хорош только Designer. Он как раз для рисования окон и связывания их компонент.

23.02.2019 22:32 · отредактировано #430843
"_mellenium_" написал:
Здравствуйте, подскажите как реализовать связь между объектами (например кнопкой и полем) на языке C++?

Ну в wxSmith, когда форма уже создана, обычно просто щелкаешь по кнопке дважды, в результате чего создается файл C++, с объявлением класса формы, и переходом к функции вызова при нажатии кнопки в которой все и прописывается.
На пример надо соединить поле wxRichTextCtrl и кнопку.
Для этого в форме щелкаем по окну wxRichTextCtrl и смотрим название класса Class name, при необходимости правим название и дважды щелкаем что бы с генерировать объявление класса wxRichTextCtrl, под новым именем. Останется только сделать вызов какого нибудь метода данного класса в функции кнопки, допустим wxRichTextCtrl объявлен как RichTextCtrl1. Тогда как пример вызвать метод добавления текста:

text
void ClassForm::OnButton1Click(wxCommandEvent& event)
{
    RichTextCtrl1->AppendText(wxString::FromUTF8("Всякая белеберда!"));

}

Как результат каждый раз щелкая по кнопке в поле RichTextCtrl1 будет добавляться текст к написанному тексту.
Просто надо смотреть список методов вызываемого класса. Все как в обычном C++ и не более.
Другое дело нужно знать что каждый метод делает, я не знаю )

Войдите или зарегистрируйтесь, чтобы ответить.