QScrollArea 详解
QScrollArea?滾動(dòng)區(qū)域
? ?滾動(dòng)區(qū)域用于顯示框架內(nèi)子窗口小部件的內(nèi)容。 如果窗口小部件超出框架的大小,則視圖可以提供滾動(dòng)條,以便可以查看子窗口小部件的整個(gè)區(qū)域。 子窗口小部件必須使用setWidget()指定。
繼承關(guān)系
成員函數(shù)
alignment:?
屬性保存滾動(dòng)區(qū)域的小部件的對(duì)齊方式?
- Qt::Alignment?alignment() const
- void?setAlignment(Qt::Alignment)
有效的對(duì)齊方式是以下標(biāo)志的組合:
- Qt::AlignLeft
- Qt::AlignHCenter
- Qt::AlignRight
- Qt::AlignTop
- Qt::AlignVCenter
- Qt::AlignBottom
widgetResizable:
? ? 屬性保存滾動(dòng)區(qū)域是否應(yīng)調(diào)整視圖小部件的大小,如果將此屬性設(shè)置為false(默認(rèn)值),則滾動(dòng)區(qū)域?qū)⒆裱湫〔考拇笮 ?無(wú)論此屬性如何,都可以使用widget()-> resize()以編程方式調(diào)整窗口小部件的大小,并且滾動(dòng)區(qū)域?qū)⒆詣?dòng)將其自身調(diào)整為新的大小。如果將此屬性設(shè)置為true,則滾動(dòng)區(qū)域?qū)⒆詣?dòng)調(diào)整窗口小部件的大小,以避免在可以避免滾動(dòng)條的地方使用滾動(dòng)條,或者利用多余的空間。
?
- bool?widgetResizable() const
- void?setWidgetResizable(bool resizable)
子窗口
- void?setWidget(QWidget *widget)? ? //設(shè)置滾動(dòng)區(qū)域的小部件。
- QWidget *takeWidget()? ?//刪除滾動(dòng)區(qū)域的窗口小部件,并將該窗口小部件的所有權(quán)傳遞給調(diào)用方。
- QWidget *widget() const?
位置關(guān)系(沒(méi)驗(yàn)證出來(lái)有啥作用, 有自知道的歡迎留言)
- void QScrollArea::ensureVisible(int x, int y, int xmargin = 50, int ymargin = 50)
滾動(dòng)滾動(dòng)區(qū)域的內(nèi)容,以使點(diǎn)(x,y)在視口區(qū)域內(nèi)部可見,其邊距由xmargin和ymargin以像素指定。 如果無(wú)法達(dá)到指定點(diǎn),則將內(nèi)容滾動(dòng)到最近的有效位置。 兩個(gè)邊距的默認(rèn)值為50像素。
- void?ensureWidgetVisible(QWidget *childWidget, int xmargin = 50, int ymargin = 50)
? 滾動(dòng)滾動(dòng)區(qū)域的內(nèi)容,以使QScrollArea :: widget()的childWidget在視口內(nèi)可見,其邊距由xmargin和ymargin指定以像素為單位。 如果無(wú)法達(dá)到指定點(diǎn),則將內(nèi)容滾動(dòng)到最近的有效位置。 兩個(gè)邊距的默認(rèn)值為50像素。 此功能在Qt 4.2中引入。
示例代碼
#include <QApplication> #include <QLabel> #include <QImage> #include <QScrollArea> #include <QHBoxLayout> int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget w;QLabel *label = new QLabel(&w);QImage image("E:\\Qt\\QmlCalss_1\\icon\\jpg1.jpg");QHBoxLayout *lay=new QHBoxLayout(&w);label->setPixmap(QPixmap::fromImage(image));//創(chuàng)建滾動(dòng)區(qū),QScrollArea *scrollarea = new QScrollArea(&w);//將Widget組件加入滾動(dòng)區(qū)scrollarea->setWidget(label);scrollarea->ensureWidgetVisible(label);//自動(dòng)改變滾動(dòng)區(qū)大小scrollarea->setWidgetResizable(1);//設(shè)置滾動(dòng)區(qū)背景顏色scrollarea->setBackgroundRole(QPalette::NoRole);lay->addWidget(scrollarea);//解決布局周圍有變框問(wèn)題lay->setContentsMargins(0, 0, 0, 0);w.setLayout(lay);w.show();return a.exec(); }?
總結(jié)
以上是生活随笔為你收集整理的QScrollArea 详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tensorflow中tf.random
- 下一篇: tensorflow学习之常用函数总结: