Russian Qt Forum
Апрель 30, 2024, 02:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 7
1  Qt / Общие вопросы / воспроизведение mp3 : Октябрь 30, 2023, 16:12
моя проблема:
mp3 не воспроизводиться в Qt, но в visual studio на чистом с++ работает


чистый c++
Код:
#include <windows.h>

using namespace std;

int main()
{
HINSTANCE resultt;
resultt = ShellExecute(NULL, NULL, L"F:/test/(название файла).MP3", NULL, NULL, SW_SHOWDEFAULT);
}

если есть другой способ воспроизведения mp3 без сторонних библиотек пишите я попробую его
2  Qt / Общие вопросы / Re: помогите с ошибками(game dev) : Август 31, 2023, 14:41
подскажите пожалуйста как создать переменную доступную во всех классах Непонимающий Непонимающий Непонимающий
Так ведь это зависит от задачи. Если это глобальное свойство всех ваших классов, то нужно создать базовый класс, в котором объявить эту переменную, как статический член. А все ваши классы наследуете от этого базового класса.
Если это просто какая-то переменная, содержащая данные, используемые в объектах ваших классов, то - объявляете где-то просто глобальную переменную, а в модулях, в которых используете ее - extern ваша_переменная.
Либо объявляете класс с статическим членом в открытой области. Используете в остальных классах так: Вашкласс::вашапеременная.
Чтобы ограничить видимость этой переменной, можно извратиться - объявить статический член в приватной области. А все остальные классы, которые должны работать с ней, объявляете друзьями (friend class).
Но, на мой взгляд, из того, что я перечислил, только первый способ правильный.

спасибо за помощь,
но я нащёл другое решение просто вместо масива использую QMap
3  Qt / Общие вопросы / Re: помогите с ошибками(game dev) : Август 28, 2023, 16:55
Два раза на одни грабли... (http://www.prog.org.ru/index.php?topic=33465.msg247268#msg247268)
Вы объявление от определения отличаете? Статический член не принадлежит классу. Его надо еще определить:
QVector<int> Global::settings;

извините за это,(это была попытка создать переменную доступную во всех классах)
подскажите пожалуйста как создать переменную доступную во всех классах Непонимающий Непонимающий Непонимающий
4  Qt / Общие вопросы / Re: помогите с ошибками(game dev) : Август 28, 2023, 16:43
Код:
settings.operator[](4)
а чем не устроило?
Код:
settings[4]
выдаёт ошибку
5  Qt / Общие вопросы / [РЕШЕНО]помогите с ошибками(game dev) : Август 25, 2023, 11:21
проект:https://github.com/SpeechKingV/guess_the_number__with_graphics

в Ssettings_window.h я добавил следующий код(перед классом Ssettings_window):
Код:
class Global
{
public:
static QVector<int> settings;
};
и заменил все обращения к переменной settings на Global::settings
пример:
Код:
settings.operator[](4);
на
Код:
Global::settings.operator[](4);
(Ssettings_window.h подключен в каждый файл где есть обращение к переменной settings)

ошибки:
  • GuessTheNumber_WithGraphics.cpp:-1: ошибка: undefined reference to `Global::settings'
  • :-1: ошибка: collect2.exe: error: ld returned 1 exit status
  • :-1: ошибка: [Makefile.Debug:96: debug/guess_the_number__with_graphics.exe] Error 1
6  Qt / Общие вопросы / [РАЗОБРАЛСЯ Сам]помогите разобраться с ошибкой : Август 24, 2023, 15:49
с++
Код:
#pragma once
#include<QVector>
QVector<int> settings = {1,1,50,15,15};
если поставить этот код в отдельный h. или cpp.
и подключить к проекту(в каждый файл кроме main) https://github.com/SpeechKingV/guess_the_number__with_graphics
то я получаю 10 ошибок multiple definition of `settings' хотя переменная объявленна только 1 раз
 Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий
7  Qt / Общие вопросы / Re: помогите пожалуйста разобраться с ошибками(клас наследованый от QPainter) : Август 22, 2023, 15:54
Если закрыть глаза  Шокированный на попытку смешать теплое и зеленое
Но  В замешательстве, не нужно смешивать средство рисования QPainter и объект с поведением.
QPainter всегда можно создать на лету с указанием устройства, на котором требуется рисовать.

спасибо Улыбающийся
8  Qt / Общие вопросы / [РЕШЕНО]помогите пожалуйста разобраться с ошибками(клас наследованый от QPainter : Август 22, 2023, 12:22
весь проект дать не могу но ошибки в этом классе
(не хочу чтобы кто нибудь создал похожую игру)



Ошибки:
  • F:\projects\Qt_project\5.0.2\games\math_strategy\build-math_strategy-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\moc_Square.cpp:87: ошибка: 'qt_metacast' is not a member of 'QPainter'
    debug\moc_Square.cpp: In member function 'virtual void* Square::qt_metacast(const char*)':
    debug\moc_Square.cpp:87:22: error: 'qt_metacast' is not a member of 'QPainter'
         return QPainter::qt_metacast(_clname);
                          ^~~~~~~~~~~
  • F:\projects\Qt_project\5.0.2\games\math_strategy\build-math_strategy-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\moc_Square.cpp:92: ошибка: 'qt_metacall' is not a member of 'QPainter'
    debug\moc_Square.cpp: In member function 'virtual int Square::qt_metacall(QMetaObject::Call, int, void**)':
    debug\moc_Square.cpp:92:21: error: 'qt_metacall' is not a member of 'QPainter'
         _id = QPainter::qt_metacall(_c, _id, _a);
                         ^~~~~~~~~~~
  • :-1: ошибка: [Makefile.Debug:8206: debug/moc_Square.o] Error 1

код:

h.
Код:
#ifndef SQUARE_H
#define SQUARE_H

#include <QPainter>
#include <QObject>
class QPainter;

class Square : public QPainter, QObject
{
    Q_OBJECT
public:
   Square(QObject* parent = nullptr);
   void drawSquare(QPoint point,QPoint point2,QPoint point3,QPoint point4);
};

#endif // SQUARE_H
cpp.
Код:
#include "Square.h"

Square::Square(QObject* parent) : QPainter(), QObject(parent)
{

}

void Square::drawSquare(QPoint point, QPoint point2, QPoint point3, QPoint point4)
{
    drawPolygon(QPolygon()<< point << point2 << point3 << point4);

}
9  Qt / Общие вопросы / Re: программа закрываеться(game dev) : Июль 03, 2023, 13:24
если у тебя 4 элемента, то обращение по индексу 4 — это обращение к 5-му элементу
ну так в масиве 5 элементов(1-5)
10  Qt / Общие вопросы / Re: программа закрываеться(game dev) : Июнь 30, 2023, 17:28
ASSERT failure in QVector<T>::operator[]: "index out of range", file Qt5.14\5.12.12\mingw73_64\include/QtCore/qvector.h, line 432
я вижу, но в коде нет ни одного обращения больше 4, а QVector у меня от 0 до 4
11  Qt / Общие вопросы / [РЕШЕНО]программа закрываеться(game dev) : Июнь 30, 2023, 13:23
проект:https://github.com/SpeechKingV/guess_the_number__with_graphics


когда я нажимаю кнопку SANG (start a new game) программа завершаеться хотя этого не должно быть Грустный Грустный Плачущий Грустный Грустный Грустный Грустный

вывод приложения:
13:12:30: Запускается guess_the_number__with_graphics.exe ...
QObject::connect: No such signal QCheckBox::pressed(bool) in ..\guess_the_number__with_graphics\Ssettings_window.cpp:10
QObject::connect:  (sender name:   'hints')
QObject::connect:  (receiver name: 'Ssettings_window')
QObject::connect: No such signal QCheckBox::pressed(bool) in ..\guess_the_number__with_graphics\Ssettings_window.cpp:11
QObject::connect:  (sender name:   'music')
QObject::connect:  (receiver name: 'Ssettings_window')
ASSERT failure in QVector<T>::operator[]: "index out of range", file Qt5.14\5.12.12\mingw73_64\include/QtCore/qvector.h, line 432
13:12:50: Программа неожиданно завершилась.
13:12:50: Процесс был завершён принудительно.
13:12:50: guess_the_number__with_graphics.exe аварийно завершился.

вывод сборки:
13:12:28: Выполняются этапы для проекта guess_the_number__with_graphics...
13:12:28: Настройки не изменились, этап qmake пропускается.
13:12:28: Запускается: «Qt5.14\Tools\mingw730_64\bin\mingw32-make.exe» -j6
Qt5.14/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'F:/projects/Qt_project/5.0.2/games/guess_the_number__with_graphics/build-guess_the_number__with_graphics-Desktop_Qt_5_12_12_MinGW_64_bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'build-guess_the_number__with_graphics-Desktop_Qt_5_12_12_MinGW_64_bit-Debug'
13:12:30: Процесс «Qt5.14\Tools\mingw730_64\bin\mingw32-make.exe» завершился успешно.
13:12:30: Прошло времени: 00:01.


заранее спасибо за помощь!
12  Qt / Общие вопросы / Re: помогите пожалуйста (game dev)(music) : Июнь 27, 2023, 13:38
где открыли карту нашли инструкцию, туда и идите

это вопрос чисто по WinAPI, к Qt никакого отношения не имеет
ок
13  Qt / Общие вопросы / Re: помогите пожалуйста (game dev)(music) : Июнь 26, 2023, 11:52
ошибся, правильно
Код:
LIBS += -lwinmm
спасибо ошибки исправились  Веселый
но звук не воспроизводиться
14  Qt / Общие вопросы / Re: помогите пожалуйста (game dev)(music) : Июнь 25, 2023, 12:11
ошибся, правильно
Код:
LIBS += -lwinmm
спасибо ошибки исправились  Веселый
15  Qt / Общие вопросы / Re: помогите пожалуйста (game dev)(music) : Июнь 24, 2023, 13:55
тебе надо слинковаться с winmm.lib другим способом (зависит от системы сборки), раз вылезает предупреждение unknown-pragmas. Для pro файла это будет
Код:
LIBS += winmm
а вообще звук можно играть и средствами Qt: https://doc.qt.io/qt-5/qsound.html либо https://doc.qt.io/qt-5/qmediaplayer.html

средствами Qt мне не доступно т.к у меня версия community

попробовал LIBS += winmm пишет в ошибках:

:-1: ошибка: error: winmm: No such file or directory

:-1: ошибка: [Makefile.Debug:89: debug/guess_the_number__with_graphics.exe] Error 1
Страниц: [1] 2 3 ... 7

Страница сгенерирована за 0.065 секунд. Запросов: 23.