Глава 27 – Мультимедиа

Мультимедиа

Приобрести книгу можно на сайте ozon.ru и в электронном виде на Google Play:
Приобрести книгу о Qt и C++ на Ozon.ru Купить книгу о Qt и C++ на Goole Play

4 thoughts on “Глава 27 – Мультимедиа

  1. Макс, здравствуйте!
    Объясните, пожалуйста, почему Вы в коде реализующем музыкальный плеер (листинги 27.1 – 27.10) виджеты pcmdOpen (QPushButton) и pdiaVolume (QDial) не включаете в поля класса SoundPlayer? Они создаются в конструкторе класса, при этом элементы управления m_pcmdPlay (QPushButton), m_pcmdStop (QPushButton) и т.д. включены в класс SoundPlayer как его атрибуты(поля). Хотелось бы понять логику… И еще, почему Вы сделали m_pmp и m_pvbxMainLayout protected-полями, и зачем менеджер вертикальной компоновки делать атрибутом класса?
    P.S.: по m_pmp (объекту QMediaPlayer) могу предположить, что он сделан protected для того, чтобы классам потомкам можно было его перенастроить и при этом, чтобы не было возможности “сломать” класс SoundPlayer извне.

    1. Здравствуйте, Вячеслав!
      pcmdOpen (QPushButton) и pdialVolume (QDial) не являются атрибутами (полями) класса SoundPlayer потому, что сигнально/слотного соединения с этими элементами вполне достаточно.

  2. Просмотрев код следующей программы, понял зачем объект менеджера компоновки QVboxLayout m_pvbxMainLayout сделан protected. Чтобы в классах-наследниках была возможность добавлять новые графические элементы в виджет SoundPlayer.

Добавить комментарий