Qscrollarea.ensurewidgetvisible метод не показывает целевого виджетаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Qscrollarea.ensurewidgetvisible метод не показывает целевого виджета

Сообщение Anonymous »

Я пытаюсь сделать последний qpushbutton видимым с помощью метода qscrollarea (). Убедитесь, что widgetvisible () , но, как вы видите, этот метод не прокручивает до последнего qpushbutton .

Пример

alt = alt = alt = " src = "https://i.sstatic.net/8mb0m.png"/>

Не могли бы вы помочь и решить мою проблему, возможно, проблема с setframestyle ? Заранее спасибо. < /p>

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class Widget(QWidget):

def __init__(self, parent= None):
super(Widget, self).__init__()
self.setFixedHeight(200)

#Container Widget
widget = QWidget()
#Layout of Container Widget
layout = QVBoxLayout(self)
for _ in range(20):
btn = QPushButton("test")
layout.addWidget(btn)
widget.setLayout(layout)

#Scroll Area Properties
scroll = QScrollArea()
scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(False)
scroll.setWidget(widget)

# print(scroll.verticalScrollBar().maximum())
# vbar = scroll.verticalScrollBar()
# vbar.setValue(vbar.maximum())
#vbar.setValue(vbar.maximum())

#Scroll Area Layer add
vLayout = QVBoxLayout(self)
vLayout.addWidget(scroll)
self.setLayout(vLayout)

# items = (layout.itemAt(i) for i in range(layout.count()))
# for w in items:
# print(w)
print(layout.count())
#scroll.ensureWidgetVisible(layout.itemAt(layout.count()-5).widget(), xMargin=10, yMargin=10 )
scroll.ensureWidgetVisible(layout.itemAt(layout.count()-1).widget() )
print(layout.itemAt(layout.count()-1).widget(),"last widget")

if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = Widget()
dialog.show()

app.exec_()


Подробнее здесь: https://stackoverflow.com/questions/524 ... get-widget
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Автопрокрутка QScrollArea при изменении размера содержащегося виджета
    Гость » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Автопрокрутка QScrollArea при изменении размера виджета
    Гость » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • Установка QScrollArea в качестве центрального виджета в Qt
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как установить начальный размер QScrollArea?
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • QScrollArea не добавляет полосы прокрутки
    Anonymous » » в форуме C++
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»