Установка фбс: Как правильно укладывать фундаментные блоки: технология кладки ФБС

Блоки ФБС. Размеры и способы монтажа на стройке

Блоки ФБС (Фундаментные стеновые блоки) от компании «Строитель-М» это изделия из тяжелого бетона класса В15. ФБС предназначены для возведения сборных фундаментов, стен подвалов, цоколей домов.

Фундаментный блок используют при необходимости быстрого монтажа подземных конструкций без установки опалубки. По сравнению с монолитным, возведение сборного основания можно вести даже зимой, не заботясь о прогреве бетона и сделать его за несколько дней. Сфера применения включает как частное малоэтажное строительство, так и высотные дома. Высокая прочность достигаются применением тяжелого бетона.

ФБС в поперечном сечении прямоугольные, имеют петли для облегчения транспортировки и монтажа. Они рассчитаны только на передачу веса сооружения на грунт, поэтому согласно ГОСТа не армируются. Металл присутствует только в качестве закладных элементов. По торцам блоков есть специальные 30мм углубления для дополнительного сцепления элементов цементным раствором и расположения монтажных петель.

«Строитель-М» выпускает бетонные блоки длиной 2380 мм при высоте 580мм. Варьируется только ширина: 300, 400, 500, 600 мм. Отклонения от гостовских размеров не превышают ±13 мм по длине и ±5 по высоте и ширине. Точные геометрические размеры позволяют избежать погрешностей при строительстве. Внушительные размеры и вес элементов подразумевают их монтаж только подъемной техникой, при наличии удобного подъезда к объекту.

ФБС-блокРазмеры и вес ФБСРазмеры для блока шириной 300ммРазмеры для блока шириной 300-600мм

Особенности монтажа

Перед поднятием первого блока, убедитесь в том, что опоры крана находятся находятся на достаточном расстоянии от края котлована или траншеи во избежание сползания или осыпания грунта. Если проектные размеры стены не кратны длине ФБС, пустые промежутки можно заполнять бетонной смесью или планировать прохождение в них водоводов и прочих сетей.

Подготовка основания

На первом этапе разбивают оси на дне готового котлована, заглубленного ниже глубины промерзания (для района Урала это не менее 1,8м).  По осям основания натягиваются нити на колышках с соблюдением прямых углов. Прямой угол выдерживается специальным лазерным разметчиком. Далее от осевой нити на расстояние половины ширины блока с припуском до 5см натягивают шнуры, обозначающие внешние грани блочного фундамента.

Укладку ведут на выровненный и уплотненный грунт или предварительно подготовленное песчаное основание (толщиной не менее 10 см), очищенные от снега или воды на дне котлована или траншеи.

Если грунт песчаный, монтировать можно прямо на выровненную поверхность. Поперечная ширина песчаного основания должна быть больше опорной части блоков на 20-30 см.

Необходимые инструменты и материалы:
  • Комплект блоков с подготовленными для сетей отверстиями;
  • строительный кран;
  • бетономешалка.
  • песок крупной фракции;
  • цементобетонная смесь;
  • плоская арматурная сетка;
  • гидроизоляционные материалы;
  • лопата;
  • лазерный уровень и отвес;
  • бечевка и колышки для разметки;
Установка блоков

Начинают установку с угловых участков, не забывая связывать наружные стены с внутренними перегородками. В процессе тщательно проверяют горизонтальные и вертикальные уровни. Все швы плотно заполняются цем.раствором. ФБС размещают со смещением швов вразбежку (перевязкой) на расстояние не менее 25-60 см подобно кирпичной кладке с чередованием рядов.

Перемещение блоков проводится подъемным краном в присутствии профессионального такелажника. Поверхности изделий заранее очищают от грязи и слегка смачивают для лучшего сцепления с цементным раствором. Минимальная толщина цементной стяжки составляет 15 мм. Вертикальные швы заполняются с двух торцов раствором и уплотняются.

Отверстия под инженерные коммуникации намечают и пробивают в блоках заранее на этапе монтажа. Так же их можно предусмотреть простым горизонтальным смещением фбс-блока. Входы и стыки для сетей обрабатывают гидрофобными составами.

Внешняя гидроизоляция

По верхнему ряду основания выполняется гидроизоляция. А при наличии повышенной влажности грунтов – дополнительно проводят мероприятия по гидрофобизации наружных поверхностей.

Стандартно это обмазка гудроном или специальными составами.

Цена фундамента

В финансовом плане монтаж фундамента из ФБС — наиболее экономичен. Подсчитать расходы на стройматериалы несложно. И, хотя 1 куб. блоков-ФБС стоит несколько дороже куба бетона, вы сэкономите на опалубке и арматуре. Земляные работы в любом случае одинаковы. Узнать цены и Заказать ФБС можно ЗДЕСЬ

Фундамент дома из ФБС. Если строите дом, то бетонные блоки ФБС — идеальный вариант фундамента дома.


Бетонный блок ФБС, пожалуй, самый распространенный вариант для строительства фундамента дома. И чаще всего используется сплошной бетонный фундаментный блок, обозначаемый аббревиатурой ФБС. Их используют для монтажа фундаментов домов под наружные и внутренние несущие стены.

Кроме того, бетонные блоки используют для сооружения подпорных стенок, пандусов, заборов, платформ и эстакад.

В производстве фундаментных блоков сплошных (ФБС) предприятие «Строитель-МП» применяет Технические условия производства, типовые размеры и прочностные характеристики, регламентируемые Государственным стандартом № 13579 от 1978 года.

Преимущества бетонных блоков для фундамента

  • Значительное снижение сроков строительных работ, чем при заливке монолитного фундамента дома. Мы, кстати оказываем услугу по заливке монолита собственным бетононасосом 21 куб.м.;
  • Стандартные размеры блоков позволяют быстро и точно рассчитать нужное количество ФБС;
  • Нет необходимости в дорогостоящей опалубке, добавках против замерзания бетона;
  • Долговечность сборного фундамента более 100 лет (при правильном монтаже и соблюдении условий эксплуатации).

Монтаж фундаментных блоков ФБС — Каменщик-инфо

ФБС — фундаментные блоки стен. Так же их называют блоки стен подвалов. Блоки ФБС предназначены для конструкций сооружений разного назначения, работающих при систематических воздействиях температуры не выше +50°С и не ниже -70°С.

Использование бетонных блоков ФБС при строительстве фундамента позволяет возводить здания в любых климатических зонах и на любых типах грунта. В отличие от монолитного фундамента, монтировать блоки ФБС можно в любую погоду а приступать к кладке стен можно сразу после окончания работ по его сооружению.

После разметки и копки котлована с недобором, производиться ручное выравнивание основания грунта до проектной отметки. На песчаных грунтах монтаж производится прямо на выровненном основании, на других грунтах, блоки укладывают на тщательно утрамбованную песчаную подушку, толщиной 5-10 см.

Под подошвой фундаментов нельзя оставлять насыпной или разрыхлённый грунт.

Ширину и длину песчаного основания делают на 20 — 30 см больше размеров фундаментов, чтобы предотвратить свисание блоков с песчаной подушки.

Разбивку плана начинают с перенесения осей на основание, подготовленное для устройства фундаментов. Для этого по обноске натягивают осевые и с помощью отвесов переносят точки их пересечения на дно котлованов и траншей. От этих точек отмеряют проектные размеры фундамента и закрепляют их металлическими штырями так, чтобы натянутый между ними шнур-причалка находился на 2-3 мм дальше боковой грани ленточного фундамента.

Монтаж фундамента начинают с установки маячных блоков по углам и в местах пересечения стен. После укладки маячных блоков на их грани натягивают причалку и по ней располагают все промежуточные блоки. По мере монтажа причалку переносят вверх на очередной ряд блоков. Окончательное положение блоков в плане контролируют по осевым рискам на верхней грани фундамента теодолитом или отвесом. Отвес опускают с осевых проволок, натянутых по обноске. Небольшие отклонения устраняют, передвигая блок ломом.

Блоки стен подвалов выравнивают по плоскости, обращённой в сторону помещения, блоки внутренних стен по одной их плоскостей.

Верх маячных блоков проверяют нивелиром, а остальных — по причалке или визированием по ранее установленным блокам.

Если блок уложен с отклонениями, превышающими допускаемые нормы, его поднимают краном, отводят в сторону, заново выравнивают основание и лишь после этого блок вновь укладывают на основание.

Монтаж бетонных блоков ведётся вразбежку, подобно кирпичной кладке, на цементный раствор, в четыре-пять рядов в высоту. Со всеми необходимыми и возможными перевязками внутренних и внешних стен.

Фундаментные стеновые блоки кладут на раствор с перевязкой вертикальных швов, глубина которой должна быть не менее 0,4 высоты блока при малосжимаемых грунтах и не менее высоты блока при сильносжимаемых, просадочных и набухающих грунтах.

Укладка фундаментных блоков осуществляется на раствор толщиной 2 см. Лучшее качество шва получается, когда раствор разравнивают рейкой по рамке, которая обеспечивает горизонтальность постели и фиксирует его толщину. Вертикальные и горизонтальные швы между блоками должны быть заполнены раствором и расшиты с двух сторон.

Вертикальные стыки между блоками по мере их монтажа заполняют раствором с уплотнением методом штыкования. Если длина фундаментных блоков не является кратной длине сторон здания, то промежутки заполняют доборными блоками или монолитными вставками — пломба. Между блоками должно быть оставлено расстояние для прокладки труб водоснабжения и канализации, теплоснабжения, электроснабжения и др.

Стены сборных ленточных фундаментов могут быть тоньше стен самого здания, так как они изготовлены из более прочного материала, чем надземная часть.

При этом допустимый свес стены здания не должен превышать 130 мм.

Для увеличения несущей способности фундамента, бетонные блоки ФБС монтируют на предварительно уложенные фундаментные подушки ФЛ. Основное предназначение ФЛ — расширение подошвы фундамента (увеличение площади опоры).

Перед строповкой блоков надо убедиться, что кран находится на безопасном расстоянии от края котлована, что его опоры (гусеницы, колеса, аутригеры) расположены за пределами призмы обрушения.

Установка фундаментов на покрытые водой или снегом основания не допускается.

Скачать — Типовая технологическая карта на установку фундаментных блоков.

Допуски при монтаже крупноблочных ленточных фундаментов в соответствии с требованиями СНиП III-16-73

  1. Смещение осей фундаментных блоков и блоков стен фундаментов относительно разбивочных осей ± 10 мм.
  2. Отклонение отметок верхних опорных поверхностей элементов фундаментов — 10 мм.
  3. Смещение осей или граней стеновых блоков в нижнем сечении относительно разбивочных осей или геометрических осей нижеустановленных конструкций ± 5мм.

Маркировка, вес и размеры блоков ФБС

Марка фундаментного блока Вес, т Размер фундаментного блока, мм
ФБС 24-3-6т 0,975 2380x300x580
ФБС 24-4-6т 1,3 2380x400x580
ФБС 24-5-6т 1,63 2380x500x580
ФБС 24-6-6т 1,96 2380x600x580
ФБС 12-3-6т 0,49 1180x300x580
ФБС 12-4-6т 0,64 1180x400x580
ФБС 12-5-6т 0,814 1180x500x580
ФБС 12-6-6т 0,98 1180x600x580
ФБС 9-3-6т 0,326 880x300x580
ФБС 9-4-6т 0,468 880x400x580
ФБС 9-5-6т 0,51 880x500x580
ФБС 9-6-6т 0,7 880x600x580
ФБС 12-4-3т 0,31 1180x400x280
ФБС 12-5-3т 0,38 1180x500x280
ФБС 12-6-3т 0,46 1180x600x290

Упаковка приложений PyQt5 с помощью fbs — распространяйте кроссплатформенные приложения с графическим интерфейсом с помощью системы сборки fman

fbs — это кроссплатформенная система упаковки PyQt5, которая поддерживает создание настольных приложений для Windows, Mac и Linux (Ubuntu, Fedora и Arch). Построенный на основе PyInstaller , он сглаживает некоторые шероховатости и определяет стандартную структуру проекта, которая позволяет полностью автоматизировать процесс сборки. Включенный ресурсный API особенно полезен, так как упрощает работу с внешними файлами данных, изображениями или сторонними библиотеками — частая проблема при объединении приложений.

Это руководство проведет вас через этапы создания приложений PyQt5 с использованием fbs с нуля, а также для преобразования существующих проектов в систему. Если ваше приложение нацелено на несколько платформ, на него определенно стоит обратить внимание.

Если вы нетерпеливы, вы можете загрузить установщики Moonsweeper непосредственно для Windows, MacOS или Linux (Ubuntu).

fbs распространяется под лицензией GPL. Это означает, что вы можете бесплатно использовать систему fbs в пакетах, распространяемых с GPL. Для коммерческих (или других не-GPL) пакетов вы должны купить коммерческую лицензию. Актуальную информацию см. на странице лицензирования fbs.

fbs построен поверх PyInstaller. Вы также можете использовать PyInstaller напрямую для упаковки приложений, см. Наше руководство по упаковке приложений PyQt5 и PySide2 для Windows с помощью PyInstaller.

Требования к установке

fbs работает сразу с PyQt PyQt5 и Qt для Python PySide2 . Единственным другим требованием является PyInstaller , который обрабатывает саму упаковку. Вы можете установить их в виртуальной среде (или виртуальной среде ваших приложений), чтобы ваша среда оставалась чистой.

fbs поддерживает только версии Python 3.5 и 3.6

бить

 python3 -m venv fbsenv
 

После создания активируйте виртуальную среду, запустив ее из командной строки —

бить

 # На Mac/Linux:
источник fbsenv/bin/активировать
# В Windows:
вызовите fbsenv\scripts\activate. bat
 

Наконец, установите необходимые библиотеки. Для PyQt5 вы бы использовали —

питон

 pip3 установить fbs PyQt5 PyInstaller==3.4
 

Или для Qt для Python (PySide2) —

питон

 pip3 установить fbs PySide2 PyInstaller == 3.4
 

fbs устанавливает инструмент командной строки fbs в ваш путь, который обеспечивает доступ ко всем командам управления fbs  . Чтобы увидеть полный список доступных команд, запустите fbs .

бить

 martin@Martins-Laptop testapp $ fbs
использование: fbs [-h]
           {startproject, запустить, заморозить, установщик, sign_installer, репозиторий,
           загрузка, выпуск, тестирование, очистка, сборка vm, запуск vm, gengpgkey, регистрация, вход в систему, init_licensing}
           . ..
ФБС
позиционные аргументы:
  {startproject, запустить, заморозить, установщик, sign_installer, репозиторий,
  загрузка, выпуск, тестирование, очистка, сборка vm, запуск vm, gengpgkey, регистрация, вход в систему, init_licensing}
    startproject Начать новый проект в текущем каталоге
    запустить Запустите приложение из исходного кода
    замораживание Скомпилируйте свой код в автономный исполняемый файл
    installer Создайте установщик для вашего приложения
    sign_installer Подписать установщик, чтобы операционная система пользователя ему доверяла
    repo Создание файлов для автоматических обновлений
    загрузить Загрузить установщик и репозиторий на fbs.sh
    выпустите версию Bump и запустите очистку, заморозку, ..., загрузите
    test Выполнение автоматизированных тестов
    clean Удалить предыдущие выходные данные сборки
    buildvm Создайте виртуальную машину Linux. Например: buildvm ubuntu
    runvm Запустите виртуальную машину Linux. Например: runvm ubuntu
    gengpgkey Генерация ключа GPG для подписывания кода Linux
    регистрация Создайте учетную запись для загрузки ваших файлов
    войти Сохраните данные своей учетной записи в secret. json
    init_licensing Генерировать открытые/закрытые ключи для лицензирования
необязательные аргументы:
  -h, --help показать это справочное сообщение и выйти
 

Теперь вы готовы начать упаковку приложений с fbs .

Запуск приложения

Если вы запускаете приложение PyQt5 с нуля, вы можете использовать команду управления fbs startproject для создания полной, работающей и готовой к упаковке заглушки приложения в текущей папке. Преимущество этого заключается в том, что вы можете тестировать (и продолжать тестировать) пакетируемость вашего приложения по мере его разработки, а не оставлять его до конца.

бить

 фбс стартпроект
 

Команда проведет вас через несколько вопросов, позволяя вам заполнить детали вашего приложения. Эти значения будут записаны в исходный код и конфигурацию вашего приложения. Базовое приложение будет создано в папке src/ в текущем каталоге.

бить

 martin@Martins-Ноутбук ~ $ fbs startproject
Имя приложения [MyApp]: HelloWorld
Автор [Мартин] : Мартин Фитцпатрик
Идентификатор пакета Mac (например, com.martin.helloworld, необязательно):
 

Если у вас уже есть собственное работающее приложение PyQt5, вам необходимо либо а) использовать сгенерированное приложение в качестве ориентира для преобразования вашего в ту же структуру, либо б) создать новое приложение с помощью `startproject` и перенести код .

Запуск нового проекта

Это новое приложение можно запустить с помощью следующей команды fbs в той же папке, из которой вы запускали startproject .

бить

 фбс работает
 

Если все работает, это должно показать вам маленькое пустое окно с названием вашего приложения — интересно, а?

Hello World App на Windows

Hello World App на Mac

Hello World App на Linux

Структура приложения

. STARTPROJECT Создает требуемую структуру папки для FBS PYQT5. заявление. Это включает в себя src/build , который содержит настройки сборки для вашего пакета, main/icons , который содержит значки приложений, и src/python для источника.

бить

 .
└── источник
    ├── строить
    │ └── настройки
    │ ├── base.json
    │ ├── линукс.json
    │ └── mac.json
    └── главный
        ├── иконки
        │ ├── Icon.ico
        │ ├── README.md
        │ ├── база
        │ │ ├── 16.png
        │ │ ├── 24.png
        │ │ ├── 32.png
        │ │ ├── 48. png
        │ │ └── 64.png
        │ ├── линукс
        │ │ ├── 1024.png
        │ │ ├── 128.png
        │ │ ├── 256.png
        │ │ └── 512.png
        │ └── макинтош
        │ ├── 1024.png
        │ ├── 128.png
        │ ├── 256.png
        │ └── 512.png
        └── питон
            └── main.py
 

Ваше базовое приложение PyQt5 сгенерировано в src/main/python/main.py и представляет собой полный рабочий пример, на котором вы можете основывать свой собственный код.

питон

 из fbs_runtime.application_context.PyQt5 импортировать ApplicationContext
из PyQt5.QtWidgets импортировать QMainWindow
импорт системы
class AppContext(ApplicationContext): # 1.  Подкласс ApplicationContext
    def run(self): # 2. Реализовать run()
        окно = QMainWindow()
        версия = self.build_settings['версия']
        window.setWindowTitle("HelloWorld v" + версия)
        окно.изменить размер(250, 150)
        окно.показать()
        return self.app.exec_() # 3. Завершить run() этой строкой
если __name__ == '__main__':
    appctxt = AppContext() # 4. Создайте экземпляр подкласса
    exit_code = appctxt.run() # 5. Вызвать run()
    sys.exit (код_выхода)
 

Если вы создавали приложения PyQt5 до того, как заметите, что создание приложения с fbs вводит новую концепцию — ApplicationContext .

ApplicationContext

При создании приложений PyQt5 обычно используется ряд компонентов или ресурсов, которые используются в вашем приложении. Они обычно хранятся в QMainWindow или как глобальные переменные, которые могут немного запутаться по мере роста вашего приложения. ApplicationContext обеспечивает централизованное расположение для инициализации и хранения этих компонентов, а также предоставляет доступ к некоторым основным функциям fbs .

Объект ApplicationContext также создает и содержит ссылку на глобальный объект QApplication , доступный в ApplicationContext.app . Каждое приложение Qt должно иметь одно (и только одно) QApplication для хранения цикла событий и основных настроек. Без фбс вы обычно определяете это в основе вашего скрипта и вызываете .exec() для запуска цикла обработки событий.

Без fbs это выглядело бы примерно так —

питон

 если __name__ == '__main__':
    приложение = QПриложение()
    w = MyCustomWindow()
    приложение.exec_()
 

Эквивалентом fbs будет —

питон

 если __name__ == '__main__':
    ctx = контекст приложения ()
    w = MyCustomWindow()
    ctx.app.exec_()
 

Если вы хотите создать свою собственную инициализацию `QApplication`, вы можете перезаписать свойство `. app` в вашем подклассе `ApplicationContext`, используя `cached_property` (см. ниже).

Этот базовый пример прост для подражания. Однако, как только вы начнете добавлять пользовательские стили и переводы в свое приложение, инициализация может значительно увеличиться. Чтобы все было хорошо структурировано, fbs рекомендует создать метод .run в вашем ApplicationContext .

Этот метод должен управлять настройкой вашего приложения, например, созданием и отображением окна, а также запуском цикла обработки событий для объекта .app . Этот последний шаг выполняется путем вызова self.app.exec_() в конце метода.

питон

 класс AppContext (ApplicationContext):
    деф запустить (самостоятельно):
        ...
        вернуть self.app.exec_()
 

По мере усложнения инициализации можно для ясности разбить подразделы на отдельные методы, например —

питон

 класс AppContext (ApplicationContext):
    деф запустить (самостоятельно):
        self. setup_fonts()
        self.setup_styles()
        self.setup_translations()
        вернуть self.app.exec_()
    деф setup_fonts (я):
        # ...сделай что-нибудь ...
    определение setup_styles (я):
        # ...сделай что-нибудь ...
    деф setup_translations(я):
        # ...сделай что-нибудь ...
 

При выполнении будет вызван метод `.run()` и запущен ваш цикл обработки событий. Выполнение продолжается в этом цикле событий до тех пор, пока приложение не будет закрыто, после чего ваш метод `.run()` вернется (с соответствующим кодом выхода).

Создание реального приложения

Базовое приложение мало что делает, поэтому ниже мы рассмотрим нечто более законченное — приложение Moonsweeper из моих 15-минутных приложений. Обновленный исходный код доступен для загрузки ниже.

Источник Moonsweeper (fbs) PyQt5

Источник Moonsweeper (fbs) PySide2

Здесь рассматриваются только изменения, необходимые для преобразования Moonsweeper в fbs . Если вы хотите увидеть, как работает сам Moonsweeper, см. оригинальную статью о приложении. Пользовательские значки приложений были созданы с использованием иконок Freepik.

Проект имеет ту же базовую структуру, что и приложение-заглушка, которое мы создали выше.

питон

 .
├── README.md
├── требования.txt
├── скриншот-сапер1.jpg
├── скриншот-сапер2.jpg
└── источник
    ├── строить
    │ └── настройки
    │ ├── base.json
    │ ├── линукс.json
    │ └── mac.json
    └── главный
        ├── Installer.nsi
        ├── иконки
        │ ├── Icon.ico
        │ ├── README.md
        │ ├── база
        │ │ ├── 16. png
        │ │ ├── 24.png
        │ │ ├── 32.png
        │ │ ├── 48.png
        │ │ └── 64.png
        │ ├── линукс
        │ │ ├── 1024.png
        │ │ ├── 128.png
        │ │ ├── 256.png
        │ │ └── 512.png
        │ └── макинтош
        │ ├── 1024.png
        │ ├── 128.png
        │ ├── 256.png
        │ └── 512.png
        ├── питон
        │ ├── __init__.py
        │ └── main.py
        └── Ресурсы
            ├── база
            │ └── картинки
            │ ├── бомба.png
            │ ├── ошибка.png
            │ ├── часы-выбрать. png
            │ ├── крест.png
            │ ├── флаг.png
            │ ├── плюс.png
            │ ├── ракета.png
            │ ├── смайлик-лол.png
            │ └── смайлик.png
            └── макинтош
                └── Содержание
                    └── Информация.plist
 

В src/build/settings/base.json хранятся основные сведения о приложении, включая точку входа для запуска приложения с fbs run или после упаковки.

json

 {
    "app_name": "Луноход",
    "автор": "Мартин Фицпатрик",
    "main_module": "src/main/python/main.py",
    "версия": "0.0.0"
}
 

Точка входа скрипта находится в базе src/main/python/main.py . Это создает AppContext и вызывает метод . run() для запуска приложения.

питон

 если __name__ == '__main__':
    appctxt = AppContext()
    код_выхода = appctxt.run()
    sys.exit (код_выхода)
 

ApplicationContext определяет метод .run() для обработки инициализации. В данном случае это создание и отображение главного окна, а затем запуск цикла обработки событий.

питон

 из fbs_runtime.application_context.PyQt5 импортировать ApplicationContext, \
    cached_property
класс AppContext (ApplicationContext):
    деф запустить (самостоятельно):
        self.main_window.show()
        вернуть self.app.exec_()
    @cached_property
    деф main_window (я):
        return MainWindow(self) # Передать контекст окну.
    # ... отрезать ...
 

Декоратор

cached_property

Метод .run() обращается к self.main_window . Вы заметите, что этот метод заключен в fbs @cached_property декоратор. Этот декоратор превращает метод в свойство (например, декоратор Python @property ) и кэширует возвращаемое значение.

При первом доступе к свойству метод выполняется, а возвращаемое значение кэшируется. При последующих вызовах кэшированное значение возвращается напрямую, без выполнения каких-либо действий. Это также имеет побочный эффект отсрочки создания этих объектов до тех пор, пока они не потребуются.

Вы можете использовать @cached_property для определения каждого компонента приложения (окно, панель инструментов, подключение к базе данных или другие ресурсы). Однако у вас нет для использования @cached_property — в качестве альтернативы вы можете объявить все свойства в блоке ApplicationContext.__init__ , как показано ниже.

питон

 из fbs_runtime. application_context.PyQt5 импортировать ApplicationContext
класс AppContext (ApplicationContext):
    def __init__(я, *args, **kwargs):
        super(AppContext, self).__init__(*args, **kwargs)
        self.window = Окно()
    деф запустить (самостоятельно):
        self.window.show()
        вернуть self.app.exec_()
 

Доступ к ресурсам с помощью

.get_resource

Приложениям обычно требуются дополнительные файлы данных помимо исходного кода — например, значки файлов, изображения, стили (файлы Qt .qss ) или документация. Вы также можете связать библиотеки или двоичные файлы для конкретной платформы. Для упрощения fbs определяет структуру папок и метод доступа, которые без проблем работают как в разрабатываемых, так и в распространяемых версиях.

Папка верхнего уровня ресурсов/ должен содержать папку base плюс любую комбинацию других папок, показанных ниже. Папка base содержит файлы, общие для всех платформ, а папки для конкретных платформ могут использоваться для любых файлов, характерных для данной ОС.

бить

 base/ # для файлов, необходимых для всех ОС
windows/ # для файлов, требуемых только в Windows
mac/ # " " " " " Mac
Linux/ # " " " " " Linux
arch/ # " " " " " Arch Linux
fedora/ # " " " " " Debian Linux
ubuntu/ # " " " " " Ubuntu Linux
 

Перемещение файлов в нужное место для загрузки из распределенного приложения на всех платформах обычно является одним из самых сложных моментов распространения приложений PyQt. Очень удобно, что fbs сделает это за вас.

Для упрощения загрузки ресурсов из папки resources/ в приложения fbs предоставляет метод ApplicationContext.get_resource() . Этот метод берет имя файла, который можно найти где-то в resources/ и возвращает абсолютный путь к этому файлу. Вы можете использовать этот возвращенный абсолютный путь, чтобы открыть файл как обычно.

питон

 из fbs_runtime. application_context.PyQt5 импортировать ApplicationContext, cached_property
класс AppContext (ApplicationContext):
    # ... отрезать ...
    @cached_property
    определение img_bomb (я):
        вернуть QImage(self.get_resource('images/bug.png'))
    @cached_property
    определение img_flag (я):
        вернуть QImage(self.get_resource('images/flag.png'))
    @cached_property
    определение img_start (я):
        вернуть QImage(self.get_resource('images/rocket.png'))
    @cached_property
    определение img_clock (я):
        вернуть QImage(self.get_resource('images/clock-select.png'))
    @cached_property
    защита status_icons (я):
        возвращаться {
            STATUS_READY: QIcon(self.get_resource("images/plus.png")),
            STATUS_PLAYING: QIcon(self.get_resource("images/smiley.png")),
            STATUS_FAILED: QIcon(self.get_resource("images/cross.png")),
            STATUS_SUCCESS: QIcon(self.get_resource("images/smiley-lol.png"))
        }
    # ... отрезать ...
 

В нашем приложении Moonsweeper выше у нас есть файл изображения bomb , доступный по адресу src/main/resources/base/images/bug. jpg . Вызывая ctx.get_resource('images/bug.png') , мы получаем абсолютный путь к этому файлу изображения в файловой системе, что позволяет нам открыть файл в нашем приложении.

Если файл не существует, вместо него будет вызвана ошибка `FileNotFoundError`.

Удобство этого метода заключается в том, что он прозрачно обрабатывает папки платформы до src/main/resources дает приоритет файлам ОС. Например, если тот же файл присутствует под src/main/resources/mac/images/bug.jpg и мы вызываем ctx.get_resource('images/bug.jpg') , мы получим версию для Mac файл.

Дополнительно get_resource работает как при запуске из исходного кода, так и при запуске замороженной или установленной версии вашего приложения. Если ваши ресурсы / правильно загружаются локально, вы можете быть уверены, что они будут правильно загружаться в ваших распределенных приложениях.

Использование

ApplicationContext из приложения

Как показано выше, наш объект ApplicationContext имеет кэшированные свойства для загрузки и возврата ресурсов. Чтобы мы могли получить к ним доступ из нашего QMainWindow , мы можем передать контекст и сохранить ссылку на него в нашем окне __init__ .

питон

 класс MainWindow (QMainWindow):
    защита __init__(я, ctx):
        супер(MainWindow, сам).__init__()
        self.ctx = ctx # Сохраняет ссылку на контекст для ресурсов и т. д.
# ... отрезать ...
 

Теперь, когда у нас есть доступ к контексту через self.ctx , мы можем использовать это в любом месте, где мы хотим ссылаться на эти внешние ресурсы.

питон

 л = QLabel()
        l.setPixmap(QPixmap.fromImage(self.ctx.img_bomb))
        l.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
        hb.addWidget(l)
# ... отрезать ...
        л = QLabel()
        l.setPixmap(QPixmap.fromImage(self.ctx.img_clock))
        l.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
        hb. addWidget(l)
 

При первом доступе к self.ctx.img_bomb файл будет загружен, QImage создан и возвращен. При последующих вызовах мы будем получать изображение из кеша.

питон

 по определению init_map(я):
        # Добавляем позиции на карту
        для x в диапазоне (0, self.b_size):
            для y в диапазоне (0, self.b_size):
                w = Pos(x, y, self.ctx.img_flag, self.ctx.img_start, self.ctx.img_bomb)
                self.grid.addWidget (ш, у, х)
                # Подключить сигнал для управления расширением.
                w.clicked.connect(self.trigger_start)
                w.expandable.connect(self.expand_reveal)
                w.ohno.connect(self.game_over)
# ... отрезать ...
        self.button.setIcon(self.ctx.status_icons[STATUS_PLAYING])
# ... отрезать ...
    def update_status (я, статус):
        self.status = статус
        self.button.setIcon(self.ctx.status_icons[self. status])
 

Это все изменения, необходимые для того, чтобы приложение Moonsweeper можно было упаковать с fbs . Если вы откроете исходную папку, вы сможете запустить ее, как и раньше.

бить

 фбс работает
 

Если это работает, вы готовы перейти к замораживанию и сборке установщика.

Заморозка приложения

Заморозка — это процесс превращения приложения Python в автономный исполняемый файл, который может работать на компьютере другого пользователя. Используйте следующую команду, чтобы превратить исходный код приложения в автономный исполняемый файл:

питон

 фбс зависание
 

Полученный исполняемый файл зависит от платформы, на которой вы заморозили — исполняемый файл будет работать только в ОС, на которой вы его создали (например, исполняемый файл, созданный для Windows, будет работать на другом компьютере с Windows, но не на Mac).

  • Windows создаст исполняемый файл .exe в папке target/
  • MacOS X создаст пакет приложений .app за цель/<имя_приложения>.app
  • Linux создаст исполняемый файл в папке target/

В Windows вам может потребоваться установить Windows 10 SDK, хотя fbs предложит вам в этом случае.

Создание установщика

Несмотря на то, что исполняемые файлы можно предоставлять пользователям, настольные приложения обычно распространяются с помощью установщиков , которые обрабатывают процесс помещения исполняемого файла (и любых других файлов) в нужное место. См. следующие разделы для примечаний для конкретных платформ перед созданием

Вы должны заморозить ваше приложение сначала затем создать установщик.

Установщик Windows

Установщик Windows позволяет вашим пользователям выбирать каталог установки для исполняемого файла и добавляет ваше приложение в меню «Пуск» пользователя. Приложение также добавляется к установленным программам, что позволяет вашим пользователям удалить его.

Прежде чем создавать установщики в Windows, вам необходимо установить NSIS и убедиться, что его установочный каталог находится в вашем ПУТЬ . Затем вы можете создать установщик, используя —

бить

 установщик фбс
 

Установщик Windows будет создан по адресу target/Setup.exe .

Установщик Moonsweeper для Windows

Установщик Moonsweeper для Windows NSIS

Установщик для Mac

Для создания установщика MacOS не требуется никаких дополнительных действий. Просто запустите команду fbs

бить

 установщик фбс
 

На Mac команда создаст образ диска по адресу target/.dmg . Этот образ диска будет содержать комплект приложений и ярлык для папки «Приложения». Когда ваши пользователи откроют его, они смогут перетащить приложение в папку «Приложения», чтобы установить его.

Загрузите пакет .dmg Moonsweeper здесь

Программа установки Moonsweeper для macOS

Образ диска Moonsweeper для Mac

Программа установки Linux

Для создания инсталляторов в Linux вам необходимо установить инструмент управления пакетами Ruby Effing! — используйте руководство по установке, чтобы настроить его. После этого вы можете использовать стандартную команду для создания файла пакета Linux.

бить

 установщик фбс
 

Результирующий пакет будет создан в папке target/. В зависимости от вашей платформы файл пакета будет называться .deb , .pkg.tar.xz или <имя_приложения>.rpm . Ваши пользователи могут установить этот файл с помощью своего менеджера пакетов.

Moonsweeper Ubuntu Installer

Как загрузить, установить и войти в MT4?

Предыдущий урок Следующий урок

Скачать торговую платформу можно двумя способами. Первый способ — скачать его с сайта fbs.com. Нажмите «Торговля» в верхнем меню, а затем выберите платформу под надписью «Торговые платформы».

Второй способ — загрузить программу из личного кабинета. После входа в систему нажмите кнопку «Торговая платформа» в центре экрана.

FBS предлагает варианты операционных систем (Windows, iOS и Android), а также веб-трейдера.

Например, выберем MetaTrader 4 для Windows. Загрузите установочный файл и откройте его, чтобы начать процесс установки.

Нажмите «Выполнить».

Прочтите лицензионное соглашение с METAQUOTES SOFTWARE CORP и отметьте, что вы согласны с условиями.

Нажмите «Далее», а затем «Готово», когда загрузка закончится.

Для входа в MT4 вам потребуется пароль торгового счета, который FBS предоставил вам при регистрации торгового счета.

Вы можете найти эти данные в регистрационном письме от FBS. Обратите внимание, что первоначальный пароль к вашему МТ4 можно просмотреть только в течение 24 часов после регистрации.

Если вы его не сохранили, вы можете получить новый пароль в личном кабинете.

Нажмите на номер счета в меню слева. Затем вы увидите опцию «создать новый пароль».

Нажмите «Создать пароль». Вот и все — у вас есть новый пароль от учетной записи. Не забудьте сохранить этот пароль на этот раз.

После запуска программы вы увидите окно входа в систему. Во-первых, вам нужно будет выбрать свой торговый сервер.

Заполните данные, предоставленные вам FBS в процессе регистрации. При вводе пароля помните, что он чувствителен к регистру.

Вы увидите, что у FBS много торговых серверов. Номер вашего сервера также указан в информации вашего аккаунта.

Вот это «ФБС-Реал-2». Итак, выбираем его и нажимаем «Далее». Мы выбираем «Существующий торговый счет», чтобы ввести логин и пароли,

, но вы также можете открыть новый демо-счет и новый реальный счет во время процесса входа в MT4.

Скопируйте логин, который является номером вашей учетной записи.

LEAVE A REPLY

Ваш адрес email не будет опубликован. Обязательные поля помечены *