Информация об изменениях

Сообщение Re: Как помещать компоненты на ScrollArea, выходящие за пред от 14.07.2022 8:33

Изменено 14.07.2022 11:13 Igore

Re: Как помещать компоненты на ScrollArea, выходящие за пред
Здравствуйте, RussianFellow, Вы писали:

RF>Есть прокручиваемая область ScrollArea, которая имеет окно прокрутки на окне приложения. Как мне разместить компоненты на этой прокручиваемой области, если месторасположение этих компонентов выходит за границы окна прокрутки?

Так как нужно по дизайну, не понятен вопрос, делаешь Layout внутри ScrollArea и дабавяешь туда столько элементов сколько нужно.

RF>Я посмотрел

Молодец, а теперь хотелось бы увидеть что именно у тебя не получается, прикрепи содержимое ui файла в котором у тебя проблема. Открыть можно блокнотом.
Как самый просто вариант, открываешь, Qt Designer, создаешь QWidget, и начинаешь там экперементировать, запускать можешь сразу оттуда по Ctrl+R(From\Preivew).
P.S. На какой ОС всё делаешь, какой версией Qt-a, с каким комплитором.
Вот тебе мини пример за минуту накидал, выделить, сохранить в файл с расширением .ui, открыть в дизайнере, запустить. Yо лучше сделай сам
  Скрытый текст
?
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>366</width>
<height>355</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="textEdit"/>
</item>
<item>
<widget class="QRadioButton" name="radioButton">
<property name="text">
<string>RadioButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item>
<widget class="QTreeView" name="treeView"/>
</item>
<item>
<widget class="QRadioButton" name="radioButton_2">
<property name="text">
<string>RadioButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Re: Как помещать компоненты на ScrollArea, выходящие за пред
Здравствуйте, RussianFellow, Вы писали:

RF>Есть прокручиваемая область ScrollArea, которая имеет окно прокрутки на окне приложения. Как мне разместить компоненты на этой прокручиваемой области, если месторасположение этих компонентов выходит за границы окна прокрутки?

Так как нужно по дизайну, не понятен вопрос, делаешь Layout внутри ScrollArea и дабавяешь туда столько элементов сколько нужно.

RF>Я посмотрел

Молодец, а теперь хотелось бы понять и увидеть что именно у тебя не получается, прикрепи содержимое ui файла(или код) в котором у тебя проблема(открыть можно блокнотом).
Как самый просто вариант, открываешь, Qt Designer, создаешь QWidget, и начинаешь там экперементировать, запускать можешь сразу оттуда по Ctrl+R(Form\Preview).
P.S. На какой ОС всё делаешь, какой версией Qt-a, каким компилятором.
Вот тебе мини пример за минуту накидал, выделить, сохранить в файл с расширением .ui, открыть в дизайнере, запустить. Но лучше сделай сам
  Скрытый текст
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Form</class>
 <widget class="QWidget" name="Form">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout">
   <item>
    <widget class="QScrollArea" name="scrollArea">
     <property name="widgetResizable">
      <bool>true</bool>
     </property>
     <widget class="QWidget" name="scrollAreaWidgetContents">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>366</width>
        <height>355</height>
       </rect>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_2">
       <item>
        <widget class="QLineEdit" name="lineEdit"/>
       </item>
       <item>
        <widget class="Line" name="line">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QProgressBar" name="progressBar">
         <property name="value">
          <number>24</number>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QTextEdit" name="textEdit"/>
       </item>
       <item>
        <widget class="QRadioButton" name="radioButton">
         <property name="text">
          <string>RadioButton</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QPushButton" name="pushButton_3">
         <property name="text">
          <string>PushButton</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QDialogButtonBox" name="buttonBox">
         <property name="standardButtons">
          <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QTreeView" name="treeView"/>
       </item>
       <item>
        <widget class="QRadioButton" name="radioButton_2">
         <property name="text">
          <string>RadioButton</string>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </widget>
   </item>
   <item>
    <layout class="QHBoxLayout" name="horizontalLayout">
     <item>
      <spacer name="horizontalSpacer">
       <property name="orientation">
        <enum>Qt::Horizontal</enum>
       </property>
       <property name="sizeHint" stdset="0">
        <size>
         <width>40</width>
         <height>20</height>
        </size>
       </property>
      </spacer>
     </item>
     <item>
      <widget class="QPushButton" name="pushButton">
       <property name="text">
        <string>PushButton</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="pushButton_2">
       <property name="text">
        <string>PushButton</string>
       </property>
      </widget>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections/>
</ui>