Здравствуйте!
Подскажите, пожалуйста, как сделать ScrollArea без скроллбаров, а в качестве кнопок прокрутки использовать 2 виджета со стрелками (справа и слева)? Пробовал убирать скроллбары просто через hide() - пропадает возможность прокрутки
Вот код:
body_layout = new QHBoxLayout(); //body
body_layout->setAlignment(Qt::AlignVCenter);
leftScroll = new QPushButton(this);
leftScroll->setFixedSize(37,53);
leftScroll->setIcon(QIcon(":/images/scrollButtonLeft.png"));
leftScroll->setIconSize(QSize(37,53));
leftScroll->setFlat(true);
body_layout->addWidget(leftScroll);
catalog_body = new QWidget(this);
catalog_body->setObjectName("catalog_body");
catalog_body->resize(body->width()-74,body->height());
gr = new QGridLayout (catalog_body); //body
gr->setSizeConstraint(QLayout::SetMinimumSize);
int current_row = 1;
int current_column = 1;
int s;
do
{
QString category_id = query->value(0).toString();
QString category_name = query->value(1).toString();
category_Labels.append(new category_Label(catalog_body,category_id, category_name)); //this
s = category_Labels.last()->width();
gr->addWidget(category_Labels[category_Labels.count()-1],current_row,current_column);
connect(category_Labels[category_Labels.count()-1], SIGNAL(clicked()), this, SLOT(get_Signal()));
if (current_row<row_count) current_row++;
else
{
current_row =1;
current_column ++;
}
} while(query->next());
body_layout->setAlignment(Qt::AlignHCenter);
catalog_body->setLayout(gr);
sa = new QScrollArea(this);//(body);
sa->setWidget(catalog_body);
sa->setFrameStyle(QFrame::NoFrame);
body_layout->addWidget(sa);
rightScroll = new QPushButton(this);
QIcon rightScrollIcon;
rightScrollIcon.addFile(QString::fromUtf8(":/images/scrollButtonRight.png"), QSize(37,53), QIcon::Normal, QIcon::Off);
rightScrollIcon.actualSize(QSize(37,53), QIcon::Normal, QIcon::Off);
rightScroll->setIcon(rightScrollIcon);
rightScroll->setIconSize(QSize(37,53));
rightScroll->setFlat(true);
body_layout->addWidget(rightScroll);
if ((s*col_count) <= body->width())
{
leftScroll->hide();
rightScroll->hide();
}
body->setLayout(body_layout);
Версия: Qt 4.7.0
Заранее благодарен за ответ!