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

Содержание

Монтаж фундаментных блоков


В качестве материала для сборных оснований служат фундаментные блоки – ФБС. Строительные конструктивные элементы представлены в широком ассортименте размеров, которые варьируются от 300 мм до 600 мм в высоту и от 880 до 2380 мм в длину при стандартном значении ширины 580 мм. Помимо фундаментных строительных блоков при возведении основания находят применение прочие конструкционные элементы, выполненные на основе железобетона, а именно: стаканы, балки, подушки, сваи и т. д.


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

Сборные типы оснований обладают целым рядом специфических достоинств, которыми определяется эффективность их применения на практике. Среди них:

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

К числу объективных недостатков оснований из фундаментных блоков относят такие факторы, как высокая стоимость изделий и необходимость применения в процессе их монтажа тяжелой спецтехники.

Технология монтажа блоков

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

Укладка ленточного основания из ФБС

Монтаж ленточного основания из готовых блоков следует начинать с правильного размещения угловых опор, а также элементов пересечения наружных и внутренних стен несущих конструкций. Установленные с использованием геодезических инструментов и приспособлений блоки служат в качестве ориентиров в плоскостях для реализации последующих монтажных работ, как в горизонтальном, так и в вертикальном направлениях. Блоки укладываются в ряды и соединяются между собой с помощью цементно-песчаного раствора. Швы тщательно заделываются. Монтаж блочного фундамент реализуется с перевязкой швов аналогично тому, как это делается при кирпичной кладке. При наличии просветов, которые образуются при укладке целых элементов, применяются доборные блоки меньшего размера или осуществляется заливка бетоном по схеме с установкой опалубки.


Формирование столбчатых оснований

Столбчатые фундаменты находят применение в том случае, если:

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

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


Возведение свайных фундаментов

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

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


Монтаж фундамента из ФБС — Завод ЖБИ «Беротек»

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

Что такое стеновые блоки

ФБС — это изделия из железобетона, технические условия на которые устанавливает ГОСТ 13579-78 «Блоки бетонные для стен подвалов». Указанным стандартом определены три вида стеновых ж/б блоков:

  • ФБС — фундаментные блоки сплошные монолитные с арматурой внутри;
  • ФБВ — тоже армированные, сплошные блоки, но с вырезами под коммуникации;
  • блоки пустотные (ФБП).

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

При выборе блоков для фундамента нужно уметь ориентироваться в их параметрах, основные из которых входят в состав аббревиатуры. Например, у блока ФБС24-3-6: 24 дм — длина, 3 дм — ширина и 6 дм — высота. 

Все эти изделия могут использоваться при температуре от –70°C до +50°C.

Выбор типоразмера блока осуществляется в соответствии с параметрами будущего строения, в частности, в зависимости от толщины стен выбирается ширина блоков. Причем, толщина стен блочного фундамента может быть меньше, чем у стен дома, но свес не должен быть более 13 см, если он односторонний, а при двустороннем — не более 6 см с каждой стороны.

 

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

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

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

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

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

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

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

Работы по подготовке к монтажу

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

Ленточный фундамент, собираемый из блоков, укладывается по периметру постройки и под несущими стенами. 

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

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

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

На песчаном грунте фундаментные блоки можно укладывать на основание, а на других — укладывают песчаную подушку или другую подложку, предусмотренную проектом. Песчаное основание тщательно утрамбовывают и проверяют его плотность. Основания это должно быть шире на 20–30 см фундаментных блоков, чтобы исключить возможность их свисание с него. 

Затем нужно выполнить разбивку, для чего следует:

  • натянуть по обноске осевые;
  • точки пересечения осевых перенести с помощью отвесов на дно котлована или траншей;
  • отмерить от этих точек расстояния, равные проектным размерам фундамента, и отметить их металлическими кольями.

Натянутый между кольями шнур-причалка должен проходить снаружи от фундамента в 2–3 миллиметрах от боковой стенки блоков.

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

Чем тщательнее проведены подготовительные работы, тем успешнее будут все операции по монтажу. 

Монтаж 

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

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

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

Для монтажа блоков используют двухсантиметровый слой цементного раствора, укладывая их вразбежку и соблюдая все нужные перевязки. Перевязка вертикальных швов для малосжимаемых грунтов не должна быть менее 40% от высоты блоков, а для просадочных, сильносжимаемых и набухающих — не менее полной высоты блока. Качественный шов получают, разравнивая раствор рейкой по рамке. Вертикальные швы по мере монтажа заполняются раствором и уплотняются.

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

Заключительный этап

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

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


Упаковка приложений 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 . приложение. Это включает в себя src/build , который содержит настройки сборки для вашего пакета, main/icons , который содержит значки приложений, и src/python для источника.

бить

 .
└── источник
    ├── сборка
    │   └── настройки
    │   ├── base.json
    │   ├── linux.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
├── screenshot-minesweeper1.jpg
├── screenshot-minesweeper2.jpg
└── источник
    ├── сборка
    │   └── настройки
    │   ├── base.json
    │   ├── linux.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
        └── ресурсы
            ├── база
            │   └── изображения
            │   ├── bomb.png
            │   ├── bug.png
            │   ├── часы-выбор.png
            │   ├── cross.png
            │   ├── flag.png
            │   ├── plus.png
            │   ├── ракета.png
            │   ├── смайлик-лол.png
            │   └── смайлик.png
            └── макинтош
                └── Содержание
                    └── Info.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 не будет опубликован. Обязательные поля помечены *