Установка библиотеки GTK+ в среде Code::Blocks под Windows
Скачайте и установите Code::Blocks. Для установки удобно выбрать пакет с уже интегрированным компилятором MinGW (но не обязательно, MinGW можно установить отдельно). Скачайте библиотеку GTK+. Поскольку структура каталогов библиотеки совпадает со структурой MinGW, имеет смысл их объединить, т.е. произвести разархивирование в тот же каталог, куда установлен MinGW.
Для того чтобы Code::Blocks подхватил компилятор GCC из пакета MinGW достаточно прописать в системной переменной окружения PATH дополнительные пути.
Например, если MinGW установлен в корень диска C:, то пути следующие
в переменной PATH их необходимо дописать в конец существующей записи через символ «;», т.е. вот так:
Панель управления -> Система -> Дополнительные параметры среды -> Дополнительно -> Переменные среды -> Системные переменные PATH -> Значение переменной
Поскольку библиотека GTK+ была разархивирована в папку MinGW, этих записей будет достаточно, в противном случае, необходимо добавить в PATH пути к библиотеке GTK+.
Следующим шагом настраиваем среду Code::Blocks на корректную работу с библиотекой GTK+.
В меню Settings -> Compiler
в диалоговом окне выбираем вкладку Compiler Settings -> Other Options
и вписываем команду
Затем в этом же диалоговом окне переходим на вкладку Linker Settings -> Other linker options:
и вписываем команду
Нажимаем кнопку «OK». Настройка завершена. Можно создать первый свой проект на С с использованием библиотеки GTK+.
Выберите File -> New -> Projects -> Console Application
Пройдите все шаги мастера, правильно выбирая и вписывая значения. В готовом файле main.c напишите следующую программу:
Установка платформы GTK # GTK# Platform Setup
Xamarin.Forms теперь имеет поддержку предварительной версии для приложений GTK #. Xamarin.Forms now has preview support for GTK# apps. GTK # — это графический набор средств пользовательского интерфейса, который связывает библиотеку GTK + и разнообразные библиотеки GNOME, что позволяет разрабатывать полностью собственные приложения GNOME Graphics с помощью Mono и .NET. GTK# is a graphical user interface toolkit that links the GTK+ toolkit and a variety of GNOME libraries, allowing the development of fully native GNOME graphics apps using Mono and .NET. В этой статье показано, как добавить проект GTK # в Xamarin.Forms решение. This article demonstrates how to add a GTK# project to a Xamarin.Forms solution.
Xamarin.Forms Поддержка GTK # предоставляется сообществом. Xamarin.Forms support for GTK# is provided by the community. Дополнительные сведения см. в разделе Xamarin.Forms поддержка платформ. For more information, see Xamarin.Forms Platform Support.
Прежде чем начать, создайте новое Xamarin.Forms решение или используйте существующее Xamarin.Forms решение, например гамеофлифе. Before you start, create a new Xamarin.Forms solution, or use an existing Xamarin.Forms solution, for example, GameOfLife.
Хотя в этой статье рассматривается добавление приложения GTK # в Xamarin.Forms решение в VS2017 и Visual Studio для Mac, его также можно выполнить в MonoDevelop для Linux. While this article focuses on adding a GTK# app to a Xamarin.Forms solution in VS2017 and Visual Studio for Mac, it can also be performed in MonoDevelop for Linux.
Добавление приложения GTK # Adding a GTK# App
GTK # для macOS и Linux устанавливаются как часть Mono. GTK# for macOS and Linux is installed as part of Mono. GTK # для .NET можно установить в Windows с помощью программы установки GTK #. GTK# for .NET can be installed on Windows with the GTK# Installer.
Выполните эти инструкции, чтобы добавить приложение GTK #, которое будет выполняться на рабочем столе Windows: Follow these instructions to add a GTK# app that will run on the Windows desktop:
В Visual Studio 2019 щелкните правой кнопкой мыши имя решения в Обозреватель решений и выберите Добавить > новый проект. . In Visual Studio 2019, right-click on the solution name in Solution Explorer and choose Add > New Project. .
В окне Новый проект слева выберите Visual C# и классический рабочий стол Windows. In the New Project window, at the left select Visual C# and Windows Classic Desktop. В списке типов проектов выберите Библиотека классов (платформа .NET Framework) и убедитесь, что в раскрывающемся списке » платформа » установлено минимум платформа .NET Framework 4,7. In the list of project types, choose Class Library (.NET Framework), and ensure that the Framework drop-down is set to a minimum of .NET Framework 4.7.
Введите имя проекта с расширением GTK , например гамеофлифе. GTK. Type a name for the project with a GTK extension, for example GameOfLife.GTK. Нажмите кнопку Обзор , выберите папку, содержащую проекты других платформ, и нажмите кнопку выбрать папку. Click the Browse button, select the folder containing the other platform projects, and press Select Folder. Проект GTK будет размещен в том же каталоге, что и другие проекты в решении. This will put the GTK project in the same directory as the other projects in the solution.
Нажмите кнопку ОК , чтобы создать проект. Press the OK button to create the project.
В Обозреватель решений щелкните правой кнопкой мыши новый проект GTK и выберите пункт Управление пакетами NuGet. In the Solution Explorer, right click the new GTK project and select Manage NuGet Packages. Перейдите на вкладку Обзор и выполните поиск Xamarin.Forms 3,0 или более. Select the Browse tab, and search for Xamarin.Forms 3.0 or greater.
Выберите пакет и нажмите кнопку » установить «. Select the package and click the Install button.
Теперь найдите Xamarin.Forms . Пакет Platform. GTK 3,0 или более поздней версии. Now search for the Xamarin.Forms.Platform.GTK 3.0 package or greater.
Выберите пакет и нажмите кнопку » установить «. Select the package and click the Install button.
В Обозреватель решений щелкните правой кнопкой мыши имя решения и выберите пункт Управление пакетами NuGet для решения. In the Solution Explorer, right-click the solution name and select Manage NuGet Packages for Solution. Выберите вкладку Обновление и Xamarin.Forms пакет. Select the Update tab and the Xamarin.Forms package. Выберите все проекты и обновите их до той же Xamarin.Forms версии, которая используется в проекте GTK. Select all the projects and update them to the same Xamarin.Forms version as used by the GTK project.
В Обозреватель решений щелкните правой кнопкой мыши ссылки в проекте GTK. In the Solution Explorer, right-click on References in the GTK project. В диалоговом окне Диспетчер ссылок выберите проекты слева и установите флажок рядом с .NET Standard или общим проектом: In the Reference Manager dialog, select Projects at the left, and check the checkbox adjacent to the .NET Standard or Shared project:
В диалоговом окне Диспетчер ссылок нажмите кнопку Обзор и перейдите в папку C:\Program Files (x86) \GtkSharp\2.12\lib и выберите atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll и gtk-sharp.dll файлов. In the Reference Manager dialog, press the Browse button and browse to the C:\Program Files (x86)\GtkSharp\2.12\lib folder and select the atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll, gtk-sharp.dll files.
Нажмите кнопку ОК , чтобы добавить ссылки. Press the OK button to add the references.
В проекте GTK переименуйте Class1.CS в Program.CS. In the GTK project, rename Class1.cs to Program.cs.
В проекте GTK измените файл Program.CS , чтобы он соответствовал следующему коду: In the GTK project, edit the Program.cs file so that it resembles the following code:
Этот код инициализирует GTK # и Xamarin.Forms создает окно приложения и запускает приложение. This code initializes GTK# and Xamarin.Forms, creates an application window, and runs the app.
В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите пункт свойства. In the Solution Explorer, right click the GTK project and select Properties.
В окне Свойства перейдите на вкладку приложение и измените раскрывающийся список тип выходных данных на приложение Windows. In the Properties window, select the Application tab and change the Output type drop-down to Windows Application.
В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите Назначить запускаемым проектом. In the Solution Explorer, right-click the GTK project and select Set as Startup Project. Нажмите клавишу F5, чтобы запустить программу с помощью отладчика Visual Studio на рабочем столе Windows: Press F5 to run the program with the Visual Studio debugger on the Windows desktop:
Выполните эти инструкции, чтобы добавить приложение GTK #, которое будет выполняться на рабочем столе Mac: Follow these instructions to add a GTK# app that will run on the Mac desktop:
В Visual Studio для Mac щелкните решение правой кнопкой мыши Xamarin.Forms и выберите Добавить > добавить новый проект. . In Visual Studio for Mac, right-click on the Xamarin.Forms solution and choose Add > Add New Project. .
В окне Новый проект выберите другие > проект .NET > GTK # 2,0 и нажмите кнопку Далее. In the New Project window choose Other > .NET > Gtk# 2.0 Project and press Next.
Введите имя проекта с расширением GTK , например гамеофлифе. GTK, и нажмите кнопку создать. Type a name for the project with a GTK extension, for example GameOfLife.GTK, and press Create.
В панель решения щелкните правой кнопкой мыши пакеты > добавить пакеты. для проекта GTK и добавьте Xamarin.Forms пакет NuGet предварительной версии 3,0 или выше. In the Solution Pad, right-click on Packages > Add Packages. for the GTK project, and add the Xamarin.Forms 3.0 pre-release NuGet package or greater.
В панель решения щелкните правой кнопкой мыши пакеты > добавить пакеты. для проекта GTK и добавьте Xamarin.Forms . Platform. GTK 3,0 предварительный выпуск пакета NuGet или более поздней версии. In the Solution Pad, right-click on Packages > Add Packages. for the GTK project, and add the Xamarin.Forms.Platform.GTK 3.0 pre-release NuGet package or greater.
Обновите другие проекты платформы для использования той же Xamarin.Forms версии, которая используется в проекте GTK. Update the other platform projects to use the same Xamarin.Forms version as used by the GTK project.
В панель решения щелкните правой кнопкой мыши ссылки > изменить ссылки. для проекта GTK и добавьте ссылку на Xamarin.Forms проект (либо в .NET Standard, либо в общий проект). In the Solution Pad, right-click on References > Edit References. for the GTK project, and add a reference to the Xamarin.Forms project (either .NET Standard or Shared Project).
Измените файл Program.CS проекта GTK, чтобы он соответствовал следующему коду: Edit the Program.cs file of the GTK project so that it resembles the following code:
Этот код инициализирует GTK # и Xamarin.Forms создает окно приложения и запускает приложение. This code initializes GTK# and Xamarin.Forms, creates an application window, and runs the app.
В панель решения щелкните правой кнопкой мыши проект GTK и выберите Назначить запускаемым проектом. In the Solution Pad, right-click the GTK project and select Set as Startup Project.
На панели инструментов Visual Studio для Mac нажмите кнопку Пуск (треугольная кнопка, напоминающая кнопку воспроизведения), чтобы запустить приложение. In the Visual Studio for Mac toolbar, press the Start button (the triangular button that resembles a Play button) to launch the app.
Next Steps Next Steps
Особенности платформы Platform Specifics
Вы можете определить, на какой платформе Xamarin.Forms выполняется приложение, с помощью XAML или кода. You can determine what platform your Xamarin.Forms application is running on from either XAML or code. Это позволяет изменять характеристики программы при выполнении в GTK #. This allows you to change program characteristics when it’s running on GTK#. В коде Сравните значение Device.RuntimePlatform с Device.GTK константой (которая равна строке «GTK»). In code, compare the value of Device.RuntimePlatform with the Device.GTK constant (which equals the string «GTK»). При наличии совпадения приложение будет выполняться в GTK #. If there’s a match, the application is running on GTK#.
В XAML можно использовать OnPlatform тег для выбора значения свойства, характерного для платформы: In XAML, you can use the OnPlatform tag to select a property value specific to the platform:
Значок приложения Application Icon
Значок приложения можно задать при запуске: You can set the app icon at startup:
Темы Themes
Для GTK # доступны разнообразные темы, которые можно использовать из Xamarin.Forms приложения: There are a wide variety of themes available for GTK#, and they can be used from a Xamarin.Forms app:
Собственные формы Native Forms
Собственные формы позволяют Xamarin.Forms ContentPage использовать производные страницы в собственных проектах, включая проекты GTK #. Native Forms allows Xamarin.Forms ContentPage -derived pages to be consumed by native projects, including GTK# projects. Это можно сделать путем создания экземпляра страницы, производной от класса, ContentPage и преобразования ее в собственный тип GTK # с помощью CreateContainer метода расширения: This can be accomplished by creating an instance of the ContentPage -derived page and converting it to the native GTK# type using the CreateContainer extension method:
Дополнительные сведения о собственных формах см. в разделе собственные формы. For more information about Native Forms, see Native Forms.
Проблемы Issues
Это предварительная версия, поэтому следует рассчитывать на то, что все готово к производству. This is a Preview, so you should expect that not everything is production ready. Сведения о текущем состоянии реализации см. в разделе состояние, а сведения о текущих известных проблемах см. в разделе ожидающие & известные проблемы. For the current implementation status, see Status, and for the current known issues, see Pending & Known Issues.