Название: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 20, 2023, 17:59 решено
как вы поняли из названия у меня не работают слоты в menu->addAction(); сам проект работает но не работает ни один слот кроме SChangeWindowTitle(const QString&) помогите пожалйста (весь проект в .zip) main_notepad.h: Код: QMenu* pmuFile = new QMenu("&File"); Название: Re: не роботают слоты(menu->addAction();) Отправлено: kambala от Январь 20, 2023, 18:42 на будущее:
- папку build прикладывать не надо - файлы с расширением user тоже - проще выкладывать код на гитхаб, чем в архиве — тогда можно его сразу прочитать в браузере почему приложенный код не содержит исправлений из другой темы? это банальное неуважение. более того, даже после внесения тех исправлений он не компилируется. также твои слоты подключаются в классе main_notepad, но в main ты почему-то создаешь объект класса notepad. перенос кода конструктора main_notepad в cpp файл по волшебству все исправил, даже не особо понимаю почему не работало когда он был в заголовочном файле. а для сигнала changeWindowTitle правильно писать SIGNAL(changeWindowTitle(QString)) — надо указывать все параметры сигнала. Название: Re: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 21, 2023, 10:29 ой извените я вложил старый код
код с изменениями в .zip Цитировать также твои слоты подключаются в классе main_notepad, но в main ты почему-то создаешь объект класса notepad. потому что я в main_notepad.h интерпретирую .h класа notepad_window и подключение слотов идёт в main_notepad.hЦитировать перенос кода конструктора main_notepad в cpp файл по волшебству все исправил я попытался но выдало ошибку в которой говорится что коструктор is Defoltkambala спасибо огромное за отзывчивость вы как-то да поможете каждый раз как я создал новую тему Название: Re: не роботают слоты(menu->addAction();) Отправлено: kambala от Январь 21, 2023, 12:17 я уже не стал смотреть твой обновленный архив, сразу выкладываю свою исправленную версию. можешь сам сравнить файлы и посмотреть отличия.
я тебе еще в SLoad() исправил чтение файла — должно быть QIODevice::ReadOnly вместо QIODevice::WriteOnly. P.S. пиши реализацию методов в cpp файлах, а не в h, даже если в книге пишут в h (за исключением шаблонных функций/методов): лучше сразу приучаться к хорошему стилю. потом, когда освоишься с С++, узнаешь в каких случаях «допустимо» писать в h. Название: Re: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 21, 2023, 12:52 я уже не стал смотреть твой обновленный архив, сразу выкладываю свою исправленную версию. можешь сам сравнить файлы и посмотреть отличия. спасибо я сделал как вы сказалии всё за работало но когда открываю txt файл на руском получается билеберда Название: Re: не роботают слоты(menu->addAction();) Отправлено: kambala от Январь 21, 2023, 13:01 в местах, где ты работаешь с объектом QTextStream, надо указать необходимую кодировку до начала чтения/записи, например:
Код
Название: Re: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 21, 2023, 13:15 И подскажите пожалуйста как реализовать кнопку Help в меню? ??? ??? ??? ??? ???
Название: Re: не роботают слоты(menu->addAction();) Отправлено: kambala от Январь 21, 2023, 14:55 повесь About экшн на pmuHelp вместо pmuFile, если я правильно понял твое желание
Название: Re: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 22, 2023, 10:24 повесь About экшн на pmuHelp вместо pmuFile, если я правильно понял твое желание спасибо за ответ но нет мне нужна реализация class HelpBrowser я её уже делал но тот проект я "утратил"(проект был ны windows 10 а сечас у меня windows 11) как реализировать я подзабыл Название: Re: не роботают слоты(menu->addAction();) Отправлено: kambala от Январь 22, 2023, 11:00 этого файла нет в архиве. все еще непонятно какое поведение ты хочешь. напиши пошагово: куда надо нажимать, что должно открыться и т.д.
Название: Re: не роботают слоты(menu->addAction();) Отправлено: Noize_programmer от Январь 23, 2023, 12:09 этого файла нет в архиве. все еще непонятно какое поведение ты хочешь. напиши пошагово: куда надо нажимать, что должно открыться и т.д. спасибо за ответы но я уже сделал с помощью QMessageBox::about(...) и готовая програма у меня на GitHub Git: https://github.com/SpeechKingV название costumNotePad |