Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Вертикальная панель инструментов(очень длинная...)

Автор: 0xF 7.1.2008, 13:56

...такая длинная, что не влазит на экран, хочу прикрутить к ней прокрутку вертикальную(если кто видел, то в 3Д максе так сделано), нашел в дизайнере только скролл бары(вертикальный и горизонтальный), а как пользоваться - хз. Подскажите, а =)

Спасибо

Автор: ViGOur 7.1.2008, 16:48

Не совсе понял, что должно быть. Вроде того, что если панель не влезает на экран, то скрытые элементы можно будет подвинуть стрелаками или что?

Автор: 0xF 7.1.2008, 19:34

Вот, сделал скриншот, красная линия - граница окна, на картинке появляется вертикальная полоса прокрутки, а у меня панель просто обрезается и получить доступ к нижним кнопкам можно только развернув окно, но если панель длинная - то моего экрана не хватает :( Вот и спрашиваю, как замутить такую полосу прокрутки :)


Автор: ViGOur 7.1.2008, 20:08

Думаю нужно задать в качестве Range у Scrollbar'a размер виджета, который ты хочешь прокручивать.
Затем соединить сигнал void QAbstractSlider::valueChanged ( int value ) пока не знаю с чем.
Но понятно, что с функцией, в которой ты будет двигать виджет... :)

Автор: ViGOur 7.1.2008, 20:31

Хотя все оказалось намного проще, используй QScrollArea. Я вот набросал пример с QToolBat'ом:

#include <QtGui/QApplication>
#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QToolBar *ptool = new QToolBar( "test");
    for( int n = 0; n < 100; n++)
    {
        QString sz = QString::number( n);
        ptool->addAction( sz);
    }

    QScrollArea *pbar = new QScrollArea();
    pbar->setWidget( ptool);
    
    pbar->show();

    return a.exec();
}

Автор: 0xF 7.1.2008, 21:53

О, благодарствую, работает :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)