سؤال

I'm trying to make an app in C++ Qt with a sidebar like this one:

Finder's sidebar

But when making QTabWidget's orientation to West, it makes the text vertical. How to have the text on the left, but horizontally-aligned? Ps: I don't need icons. Thanks in advance.

هل كانت مفيدة؟

المحلول

You can use QListWidget to show the "tabs" (with some mods to make it look like you want) and QStackedWidget to handle switching between pages like normal tab widget does.

نصائح أخرى

A bit of "advertising" for a WTFPL implementation here on assembla Any contribution will be much appreciated.

exemple1 exemple2 exemple3

use QProxyStyle, this function will rotate 180 for text, and you can rotate 90。

void MyProxyStyle::drawItemText( QPainter* painter,
                                 const QRect&,
                                 int alignment,
                                 const QPalette& palette,
                                 bool enabled,
                                 const QString& text,
                                 QPalette::ColorRole textRole ) const
{
    painter->save();
    painter->translate(160,50);
    painter->rotate(-180);

    QCommonStyle::drawItemText( painter,
                                rectangle,
                                alignment,
                                palette,
                                enabled,
                                text,
                                textRole );

    painter->restore();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top