powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Почему форма открывается обрезанная верхним левым участком?
6 сообщений из 6, страница 1 из 1
Почему форма открывается обрезанная верхним левым участком?
    #39707884
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Qt Designer создал форму с несколькими виджетами и сохранил ее в ui- файл.

Открыл эту форму в Python- программе с помощью загрузки ui- файла. Форма открывается обрезанная.
Код: sql
1.
2.
3.
Form, Base = uic.loadUiType('Forms/FormDownload.ui')
self.ui = Form()
self.ui.setupUi(self)



Сконвертировал форму в py- файл и открыл. Тоже обрезает:
Код: sql
1.
2.
self.ui = FormDownload.Ui_Form()
self.ui.setupUi(self)



Получается такой ужас:
...
Рейтинг: 0 / 0
Почему форма открывается обрезанная верхним левым участком?
    #39707889
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При этом в консоле выпрыгивает такое сообщение:
авторQLayout: Attempting to add QLayout "" to FormDownloading "Form", which already has a layout
...
Рейтинг: 0 / 0
Почему форма открывается обрезанная верхним левым участком?
    #39707900
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Layout добавить руками (а не набросать виджетов и потом запустить авторасстановку), то форма отображается хорошо + нет никаких предупреждений. Так что надо руками вставлять слои и на них набрасывать виджеты.

Всем спасибо!
...
Рейтинг: 0 / 0
Почему форма открывается обрезанная верхним левым участком?
    #39728149
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказалось форма, на которой вручную набросаны слои не масштабируется при изменениях размера пользователем. Но если я в Qt Designer для такой формы нажимаю кнопки "Lay out Horizontally" или "Lay out Vertically" и виджеты формы растягиваются до размеров формы, то при открытии этой формы в Python- программе она открывается обрезанная, как показано в топике.

Как сделать чтобы и масштабировалось, и не обрезалась?
...
Рейтинг: 0 / 0
Почему форма открывается обрезанная верхним левым участком?
    #39728176
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять всем спасибо за участие и удаленное сочувствие моим невзгодам!

Оказалось проблема была в том, что, создавая класс формы, я унаследовался от QtWidgets.QMainWindow, а надо было от QtWidgets.QWidget.

P.s. Прохоренок в своей книге написал, что между ними нет отличий, только в первом случае расположение окна будет по центру, чему я обрадовался и начал использовать именно этот вариант, правда никогда заявленного эффекта не наблюдал. Хотя, если по- чесноку, то Прохоренок- молодец пишет отлично структурированные книжки без воды, я его еще со справочника С++ уважаю и готов с ним выпить.
...
Рейтинг: 0 / 0
Почему форма открывается обрезанная верхним левым участком?
    #39730692
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пля, если наследоваться от QtWidget, то форма открывается не в новом, а прямо поверх родительского окна (затирая его).

Короче все- таки надо наследоваться от QtWidgets.QMainWindow и руками писать код по добавлению слоев, а на них набрасывать элементы:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 wid = QtWidgets.QWidget(self)
        self.setCentralWidget(wid)
        
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.ui.label)
         
        layoutH = QtWidgets.QHBoxLayout()
        layoutH.addWidget(self.ui.ButtonStart)
        layoutH.addWidget(self.ui.ButtonPause)
        layoutH.addWidget(self.ui.ButtonTerminate)
        layout.addLayout(layoutH)
        
        layout.addWidget(self.ui.MessageList)
        wid.setLayout(layout)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Почему форма открывается обрезанная верхним левым участком?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]