入门教程 简史 教程odoo

WPF开发快速入门【5】DataGrid的使用

概述 DataGrid是最常用的一种列表数据展现控件,本文介绍DataGrid的一些常用操作,包括:展示、新增、删除、修改等。以下代码基于Stylet框架实现。 数据展示 DataGrid用于对象列表的展示,我们先定义一个对象DataRecord public class DataRecord { ......
DataGrid WPF

WPF开发快速入门【4】自定义控件与用户控件

概述 本文描述WPF的自定义控件和用户控件。 自定义控件 前面文章介绍了WPF的ControlTemplate,当我们对系统控件自带的样式不太满意时,我们可以通过控件模板自定义用户的样式,以Button为例,我们可以设计一个圆形的按钮,并通过触发器控制一些动态效果。在使用控件模板时,我们通过Temp ......
控件 用户 WPF

WPF开发快速入门【6】下拉框与枚举类型

概述 本文讲述下拉框和枚举类型进行绑定的一些操作。 下拉框的基本操作 设计部分: <ComboBox ItemsSource="{Binding Fruits}" SelectedItem="{Binding SelectedFruit}" SelectedIndex="{Binding Selec ......
类型 WPF

WPF开发快速入门【8】WPF进行简单的3D开发

概述 本文介绍采用WPF进行3D开发的一些基础知识,还有HelixToolkit控件的介绍以及在MVVM模式下使用3D框架。 3D开发入门 官方文档对3D开发的一些基础知识已经描述的比较详细了:三维图形概述 - WPF .NET Framework | Microsoft Docs 在学习WPF 3 ......
WPF

WPF开发快速入门【7】WPF的拖放功能(Drag and Drop)

概述 本文描述WPF的拖放功能(Drag and Drop)。 拖放功能涉及到两个功能,一个就是拖,一个是放。拖放可以发生在两个控件之间,也可以在一个控件自己内部拖放。假设界面上有两个控件,一个TreeView,一个ListView,那么可能发生的拖动有以下几种情况: 1、TreeView -> L ......
WPF 功能 Drag Drop and

WPF开发快速入门【1】WPF的布局

概述 本文描述几款WPF中常用的布局控件。 Grid Grid是WPF最常用的布局控件。 它把面板分割为固定长和宽的网格,子控件就放置在网格内。 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="100"/> <ColumnDefini ......
WPF 布局

WPF开发快速入门【3】WPF的基本特性(附加属性)

概述 本文描述WPF的附加属性。对于使用MVVM框架的项目,附加属性是非常重要的一个特性。 在MVVM框架下,ViewModel的代码通过控件的依赖属性来控制控件的,例如: //ViewModel public Visibility GridVisibility {get;set} public v ......
WPF 属性 特性

WPF开发快速入门【2】WPF的基本特性(Style、Trigger、Template)

概述 本文描述几个WPF的常用特性,包括:样式、触发器和控件模板。 样式/Style Style就是控件的外观,在XAML中,我们通过修改控件的属性值来设置它的样式,如: <!--直接定义style--> <Border Grid.Row="0" Grid.Column="0" Background ......
WPF Template 特性 Trigger Style

WPF开发快速入门【0】前言与目录

前言 WPF是一个生不逢时的技术,刚推出的时候由于是XP时代,WPF技术有两个不方便的地方: 1、由于操作系统没有自带Framework,需要另外安装,比较麻烦; 2、程序第一次启动时,由于要加载Framework,所有显得有点慢。 后来,这些问题都不存在了:操作系统自带Framework了,机器性 ......
前言 目录 WPF

odoo15 安装部署详细教程

apt-get updateapt-get install git #安装python3, 版本大于3.75以上.sudo apt-get install python3-devsudo apt install python3-pippip install --upgrade pip #安装数据库s ......
教程 odoo 15

Minecraft-Spigot插件开发入门

## Plugin.yml文件 plugin.yml 是一个包含你的插件信息的文件。没有这个文件,你的插件将无法工作。它由一组属性组成,每个属性都定义在一个新的行上,没有缩进。 所有的属性都是区分大小写的。 ### Plugin文件必要的三个属性 1. **main** * 这个属性指向你的插件的类 ......
Minecraft-Spigot Minecraft 插件 Spigot

MQTTnet4入门(二)实现客户端

上一篇写服务端的文章《MQTTnet4入门(一)实现服务端》已经是去年年底,现在MQTTnet的版本是4.2.1.781,总的来说改动不大。下面以新版为例实现一个客户端。 var mqttClientOptions = new MqttClientOptionsBuilder() .WithTcpS ......
客户端 MQTTnet4 MQTTnet 客户

Studio One 导出音频教程

当你制作好乐曲后,打算发布音频,需要点击上方菜单栏的 [乐曲] -> [导出音频...] 在弹出的对话框中,先选择导出位置 选择完成后,选择想要导出音频的格式及分辨率、采样率: 再在右侧更改好导出范围,点击确定即可开始导出 导出持续时间要保证非0,否则会导出失败。导出成功则会出现以下的进度条: 进度 ......
音频 教程 Studio One

Studio One 6 中挂载 Kontakt 6 教程

开始之前已经分别安装好 Studio One 与 Kontakt 插件: 打开 Studio One,在顶部菜单栏上选择 [Studio One] -> [选项...] 在弹出的对话框中选择 [位置] -> [VST插件] -> [添加...] 找到 Kontakt 安装目录并"选择文件夹" 选中后 ......
Kontakt 教程 Studio One

使用appuploader工具发布证书和描述性文件教程

使用APPuploader工具发布证书和描述性文件教程 之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传ipa,可没有Mac,同学的大老远的也不 ......
描述性 appuploader 证书 文件 工具

使用appuploader工具发布证书和描述性文件教程

使用appuploader工具发布证书和描述性文件教程 使用APPuploader工具发布证书和描述性文件教程 之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申 ......
描述性 appuploader 证书 文件 工具

笔记整理--C语言--C语言指针5分钟教程——转载

## C语言指针5分钟教程 ### 指针、引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以 ......
语言 指针 笔记 教程

ansible入门指南 - playbook

## playbook ansible playbook 提供了一种可重用的方式, 用来管理机器的目标状态. 官方提供了一些playbook的[例子](https://github.com/ansible/ansible-examples)可供学习 playbook的功能: - 声明配置 - 编排执 ......
入门指南 playbook ansible 指南

ansible入门指南 - ansible的常用命令

## ansible的常用命令 运行ansible命令的时候会使用 `ansible.cfg` 配置文件 配置文件优先级为 `ANSIBLE_CONFIG 指定的文件` > `~/.ansible.cfg` > `/etc/ansible/ansible.cfg` #### ansible ansi ......
ansible 入门指南 命令 常用 指南

ansible入门指南 - 常用的Ad-Hoc指令

## 常用的Ad-Hoc指令 ansible命令的基本语法为 ```bash ansible -m module -a params -i inventory.yaml -f 5 -u username all ``` > -m 指定运行的模块, 缺省值为 `ansible.builtin.comm ......
入门指南 指令 常用 ansible 指南

ansible入门指南 - inventory主机清单

## inventory inventory描述了被管理的机器清单, 这些机器通过何中方式连接. inventory文件的描述越详细, 执行ansible的时候需要指定的参数就越少. 例如在inventory文件中指定了ssh的连接用户, 那么在执行ansible命令的时候就可以不需要用 `-u`参 ......
入门指南 清单 inventory 主机 ansible

ansible入门指南 - 安装与简单使用

ansible 是用来自动化管理远程操作系统的工具. ansible的三要素: `控制节点` , `被控节点`, `资产清单` ### 安装 ansible 可以通过pip直接安装 ```bash python3 -m pip install ansible --user ``` ### 快速入门 ......
入门指南 ansible 指南

C++快速入门 第四十八讲:向量和容器2

迭代器(iterator)是一种功能非常有限,却非常实用的函数,提供一些基本操作符。其是个所谓的智能指针,具有遍历复杂数据结构的能力。 实例:迭代器指针应用 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 //迭代器it ......
向量 容器

C++快速入门 第四十五讲:类模板

类模板与函数模板非常相似,同样是先由你编写一个类的模板,再由编译器在你第一次使用这个模板时生成的实际代码。 实例:栈的出入栈 1 #include <iostream> 2 #include <string> 3 4 template <class T> 5 class Stack//栈类 6 { ......
模板

C++快速入门 第四十六讲:内联模板

内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时类似宏替换,使用函数体替换调用处的函数名。(在程序中,调用其函数时,该函数在编译时被替换,而不是像一般函数那样是在运行时被调用) 实例:栈 1 #include <iostream> 2 #include <string> 3 ......
模板

C++快速入门 第四十七讲:容器和算法

C++标准库提供的向量(vector)类型从根本上解决了数组先天不足的问题(内存固定,如果不用那么多内存编译器也会为其分配) 我们用不着对一个向量能容纳多少元素做出限定,因为向量可以动态地随着你往它里面添加元素而无限增大。还可以用它的size()方法查知某给定向量的当前长度(即包含的元素个数);用p ......
算法 容器

C++快速入门 第四十二讲:链接和作用域

与作用域有关的另一个概念是链接,当同时编译多个文件时,每个源文件被称为一个翻译单元,在某一个翻译单元里定义的东西在另一个翻译单元里使用正是链接发挥作用的地方。 存储类(storage class):每个变量都有一个存储类,它决定着程序将把变量的值储存在计算机的什么地方、如何存储、以及变量应该有怎样的 ......
作用 链接

C++快速入门 第四十三讲:链接和作用域2

1 header.h文件 2 3 #ifndef HEADER_H 4 #define HEADER_H 5 6 unsigned long returnFactorial(unsigned short num); 7 static const unsigned short headerNum = ......
三讲 作用 链接

C++快速入门 第四十四讲:函数模板swap使用

泛型编程技术支持程序员创建函数和类的蓝图(即模板,template),而不是具体的函数和类。 标准模板库STL(Standard Template Library),STL库是泛型编程技术的经典之作,它包含了许多非常有用的数据类型和算法。 当拥有一个模板时,编译器将根据模板自动创建一个函数,该函数会 ......
函数 模板 swap

C++快速入门 第四十一讲:命名空间

命名空间其实就是由用户定义的范围,同一个命名空间里的东西只要在这个命名空间里具有独一无二的名字就行了。 例如: 1 namespace author 2 3 { 4 5 std::string person; 6 7 } 8 9 namespace programmer 10 11 { 12 13 ......
空间