Как я могу сделать две строки вкладок в Qt

Вопрос: Я хотел бы иметь что-то вроде следующего изображения. Я хочу два ряда вкладок. Один из них включен в другой. Использует ли два QTabWidget путь? Кроме того, я хотел бы упомянуть, что основное окно программы отобразит эту структуру. Если у вас есть предложения... Я бы хотел, чтобы вкладки выглядели следующим образом (конечно, не совсем, этот

Вопрос:

Я хотел бы иметь что-то вроде следующего изображения. Я хочу два ряда вкладок. Один из них включен в другой. Использует ли два QTabWidget путь? Кроме того, я хотел бы упомянуть, что основное окно программы отобразит эту структуру. Если у вас есть предложения…

Я бы хотел, чтобы вкладки выглядели следующим образом (конечно, не совсем, этот образ ручной работы ужасен).

Изображение

Лучший ответ:

Используйте вложенные QTabWidgets: внешнюю основную вкладку, которая содержит свой собственный вторичный QTabWidget (где это необходимо).

Поскольку вы после определенного взгляда, то есть три возможных решения (упорядоченные по сложности):

  1. Посмотрите, что вы можете делать с таблицами стилей Qt, используя вложенные QTabWidgets. См. Этот ответ для некоторого примера кода и, конечно, ссылки в документах.

  2. Забудьте QTabWidget, напишите свой собственный, содержащий настраиваемую панель вкладок и используя QStackedWidget или только вложенные QStackedLayout для содержимого вкладки. Вы можете вставлять эти пользовательские виджеты с вкладками, как в QTabWidget, или просто иметь динамическую панель строк из двух строк в одном не-вложенном пользовательском вкладке виджет, это ваш код сейчас.

  3. Начните использовать QML для пользовательского интерфейса, возможно, только для пользовательской панели вкладок, возможно, для всего центрального виджета, в зависимости от того, что у вас там есть.

Ответ №1

Вместо этого вы можете использовать QTabBar. QTabWidget формируется из QStackedWidget и QTabBar, но вы можете использовать QTabBars напрямую – и иметь два или три или более слоя вкладок.

Оцените статью
Добавить комментарий