自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 前后端分离:使用Nginx实现跨域访问

这是浏览器的同源策略:只有在地址的协议、ip、端口都一样情况下(同源),才允许进行资源互访。若在不同源的情况下访问,就称为跨域。

2023-02-11 15:59:22 830

原创 本地项目git初始化并提交远程仓库

初始化本地项目首先执行git init进行本地项目的初始化。$ git initInitialized empty Git repository in D:/xxx/xxx/.git/初始化成功后在项目下会新增.git目录。关联远程仓库执行下面语句关联仓库(地址使用https和ssh格式都可以)。git remote add origin [email protected]:xxx/xxx.git添加访问权限如果访问git出现下面的报错,检查网络没有问题的话,可能是因为遗漏了添加公钥。$

2022-03-05 18:35:33 2262 1

原创 设计模式(三)代理模式

代理模式(Proxy)为对象提供一种代理用以控制对该对象的访问。代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象过滤不希望客户看到的内容和服务,或者添加客户需要的额外服务。

2022-02-08 22:25:05 497

原创 设计模式(二)适配器模式

定义适配器模式用于解决接口间的兼容问题。当我们需要使用某个类提供的接口,但是这个接口与现在的系统需求不符,由于该接口是由第三方提供的,或者是已经在生产上跑了很久的存量类,我们不想通过改变这个类来满足现在系统的需求,那么这时候就可以考虑通过将目标类封装成一个满足系统需求的新类,因此适配器(Adapter)也称为包装器(Wrapper)。好比我们买了只手机,它只有一个type-c接口,想听音乐的时候,发现手上只有一条3.5mm的耳机,那这个时候相较于更换手机或者耳机,一般我们会选择一条type-c和3.5

2021-09-05 23:47:09 618 2

原创 设计模式(一)简单工厂、工厂方法、抽象工厂模式

工厂“工厂”主要是用于解决对象的创建的方法。在一般的工程代码中,如果要创建一个类的对象,往往会这样写:ClassA a = new ClassA();对于简单的类来说,上面的方法并无不妥,但在比较复杂的项目中,有可能会出现下面几种情况:1、进行类的改动时,比如修改了类名ClassA为ClassAB,那么在引用该类的地方就要进行修改为classAB a = new ClassAB()如果项目中依赖该类的地方较多,那么这个改动则需要耗费许多开发测试成本。2、该类的构建过程复杂,每次新增引用

2021-08-27 00:56:10 191

原创 Java实现数据结构中的八种排序方法

排序方法最好情况比较次数最坏情况比较次数时间复杂度空间复杂度稳定性直接插入排序n-1n(n-1)/2O(n²)O(1)稳定冒泡排序n-1n(n-1)/2O(n²)O(1)稳定简单选择排序n(n-1)/2n(n-1)/2O(n²)O(1)不稳定希尔排序O(n¹·³)O(1)不稳定快速排序O(nlogn)O(logn)不稳定堆排序O(nlogn)O(1)不稳定归并排序O(nlogn)...

2021-07-25 21:57:12 649 2

原创 Python Web: Tornado连接mysql数据库

Tornado有一个自己的操作数据库模块torndb,而torndb是依赖于MySQLdb实现的对MySQL数据库操作,但是python3中不支持MySQLdb,而是使用pymysql。pymysql连接数据库连接配置配置文件application.py加入:mysql = dict( host = "127.0.0.1", user = "root", password = "root")建立连接...

2021-03-27 17:15:15 978

原创 PySide2学习总结(十四)3D场景中的带网格平面

在建模软件中,往往会有一个作为参考的

2019-03-05 15:51:10 1503

原创 三维建模中的相机--Camera QML Type

在三维建模中,相机是必不可少的元素。相机模拟了观众的眼睛,只有摆放在合适的位置才能看到对应角度的模型。在Qt 3D中提供了Camera QML Type来创建相机。它具有如下属性:aspectRatio : real – 相机纵横比farPlane : real – 远平面fieldOfView : real – 视野nearPlane : real – 近裁剪面position ...

2019-02-18 23:04:01 1725 1

原创 PySide2学习总结(十三)别名(alias)的使用

不使用alias在使用组件的过程中在不同的使用场景中需要对组件中的某个属性进行不同的设置,比如下面的main.qml中有两个按钮,两个按钮显示的文字不同,图示如下:两个button都是直接引用组件,那么则需要引用两个组件文件:Button1.qmlimport QtQuick 2.7Rectangle { width: 100; height: 30 Text {...

2019-02-12 17:10:22 580 3

原创 PySide2学习总结(十二)打开文件对话框--FileDialog

在Qt程序中经常会有进行选择文件的需求,可以在qml文件中使用FileDialog实现这个功能。FileDialog提供了一个基本的文件选择:它允许用户选择存在的的文件和/或目录,或者创建新的文件名。该对话框最初是不可见的。首先需要设置任意的属性,然后设置visible为true或调用open()方法。使用FileDialog首先需要引入如下模块:import QtQuick.Dialog...

2019-02-03 19:02:45 7392 1

原创 PySide2学习总结(十一)QML布局

QML可以直接设置X与Y坐标的值来进行布局,但这种做法不利于布局的调整和代码的维护,因而更推荐采用定位器、布局管理器以及锚布局来完成QML布局。QML常用的定位器有:Row, Column, Grid以及Flow;常用布局管理器有RowLayout, ColumnLayout, GridLayout,通常结合Anchor(锚布局)使用。定位器RowQML 中的 Row 元素会将其子控件都排...

2019-01-30 17:37:47 2030 1

原创 PySide2学习总结(十)菜单栏和工具栏

ApplicationWindow提供了简单的方式创建程序窗口,因为其有属性menuBar、toolBar、Tabview等属性,可以方便快速创建一个丰富的窗口。菜单栏(menuBar)菜单栏位于窗口顶部,包含程序提供给用户的操作。一个程序可包含多个菜单(menu),每个菜单可包含多个动作(Action)。在main.qml中编辑代码如下:import QtQuick 2.7impor...

2019-01-28 23:55:20 5479

原创 PySide2学习总结(九)创建窗口

前言在QtQuick中,APP具有两种启动模式:一是前面用过的QQuickView + Item;二是QQmlApplicationEngine + Window。相对于QQuickView ,QQmlApplicationEngine加载以Window为根对象的QML文档,QML文档则拥有窗口的完整控制权,可以直接设置标题、窗口尺寸等属性。更详细的介绍可以查看官方文档:QQuickV...

2019-01-27 17:43:39 2563

原创 PySide2学习总结(八)Qt的信号(Signal)和槽(Slot)

前言在GUI编程过程中,经常需要进行通信的处理,往往需要各种类型的对象之间进行通信,比如,当用户点击了某个按钮,我们希望它调用某个功能输出一些提示信息。在其他编程工具中往往使用“回调”技术来实现对象之间的通信。“回调”是将函数的指针(地址)作为参数传递给另一个处理函数,并在该函数内利用这个参数来调用原函数。简介在Qt中使用信号和槽(Signals and Slots)来实现其他编程工具包的...

2019-01-26 22:44:31 18762 2

原创 PySide2学习总结(七)Qml教程

基础类型首先由一个简单的示例来进行QML的基础介绍。在view.qml编辑代码如下:// 导入Qt附带的内置QML类型(如Rectangle,Image,...)import QtQuick 2.0// 使用Rectangle类型声明根元素,Rectangle类型是在QML中创建应用程序的基本构建块之一Rectangle { // id用于标识该元素 id: page ...

2019-01-25 21:48:22 5192

原创 PySide2学习总结(六)Dialog示例

This tutorial shows how to build a simple dialog with some basic widgets. The idea is to let users provide their name in a QLineEdit, and the dialog greets them on click of a QPushButton.Let us just ...

2019-01-25 16:35:17 2872 1

原创 PySide2学习总结(五)button示例

编辑代码如下:import sysfrom PySide2.QtWidgets import QApplication, QPushButtonfrom PySide2.QtCore import Slot# @Slot()是一个装饰器,标志着这个函数是一个slot(槽)@Slot()def output():"""在控制台输出内容""" print("Bu

2019-01-24 16:32:45 4588

原创 PySide2学习总结(四)vs code报错: No name 'QUrl' in module 'PySide2.QtCore'(E0611)

使用vs code编辑PySide2代码,运行过程中发现有E0611报错,但运行结果正常。发现是pylint的问题,打开settings查找python.linting.pylintArgs选择"Edit in settings.json"在左侧可以看到对应的设置,并在右侧修改区添加配置内容“–extension-pkg-whitelist=PySide2”此时不...

2019-01-24 12:42:28 3337 2

原创 PySide2学习总结(三)QtWidgets和QML

QT for Python 的UI可以用传统的QWidget(桌面控件形式)技术, 也可以用QML。第一个QtWidgets程序新建main.py文件,编辑代码如下:import sysfrom PySide2.QtWidgets import QApplication, QLabelapp = QApplication(sys.argv)# QLabel组件用于显示文本label...

2019-01-23 18:07:12 3597

原创 PySide2学习总结(二)运行报错: DLL load failed

尝试运行官方例子:import sysimport randomfrom PySide2 import QtCore, QtWidgets, QtGuiclass MyWidget(QtWidgets.QWidget): def __init__(self): super().__init__() self.hello = ["Hallo We...

2019-01-23 00:18:11 2938 1

原创 PySide2学习总结(一)安装

在命令行下执行:pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.9/latest/ pyside2 --trusted-host download.qt.io即可完成安装。

2019-01-20 21:04:29 6461 3

原创 PyQt5学习总结(二)菜单和工具栏

主窗口(QMainWindow)前面我们新建了一个Widget——class MainWidget(QWidget)并令其在屏幕上显示,而QMainWindow可以提供一个主窗口。在QMainWindow.py可以看见,QMainWindow继承自QWidget,通过QMainWindow你可以添加自己的QToolBars、QDockWidgets、QMenuBar、QStatusBar等。(...

2019-01-20 20:41:38 2895

原创 PyQt5学习总结(一)安装与HelloWord

PyQt的安装

2019-01-19 17:43:08 285

原创 Blender(二)bpy模块

Blender中的PythonPython是一门面向对象的、交互的解释型编程语言。它集成了模块、异常、动态类型、高水平的动态数据类型和类。Python兼具强大的功能和清晰的语法。Python脚本是一种强大而灵活的用于扩展Blender功能的方法。Blender的大部分功能都可以脚本化,包括动画、渲染、导入与导出、创建物体和重复操作的脚本。脚本可以利用紧密集成的API(Application ...

2018-11-19 15:14:35 6190 2

原创 Blender(一)插件的安装

插件的安装Blender插件安装非常简单,只需要将插件工程项目放在Blender安装目录下的addons目录下即可,比如我的Blender安装在C盘,则目录路径为:C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons然后打开Blender,...

2018-11-10 14:11:05 17993

原创 根据先序遍历和中序遍历的结果重建二叉树。

一、二叉树的定义二叉树是由n个(n>=0)个节点所构成的有限集合。当n=0时二叉树为空树;当n>0时,二叉树满足以下条件:二叉树的每个节点至多有两个子节点; 二叉树对于子节点有严格的左右之分,即为有序的。二、二叉树的遍历层次遍历:按层从左到右访问节点 先序遍历DLR:访问根节点;先序遍历左子树;先序遍历右子树 中序遍历LDR:中序遍历左子树;访问根节点;中序遍历右子...

2018-09-23 16:14:36 858 1

原创 MYSQL创建utf-8格式的数据库

mysql命令环境下GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;查看数据库编码:show variabl...

2018-08-30 20:10:42 6891 1

原创 【C#】学习笔记(一)

Main方法——程序入口VS:F5——调试并运行 Ctrl+F5——不调试直接运行namespace——命名空间:组织和管理类using [namespacename];——导入命名空间C#程序是由类组成的。声明类的关键字是class。 在Visual Studio的开发环境中,关键字被标识为蓝色。关键字 class ,这个关键字的用途是声明类。关键字 namespac...

2018-08-30 20:08:39 144 1

原创 【C】if语句中的短路效应

逻辑与运算符&&和逻辑或运算符 || 都是从左到右结合的,在计算机包含“&&”或“||”的表达式时,一旦能确定整个表达式的值,求解就会立即停止。例如:#include<stdio.h>int main ( ){int a=1, b=10, c=2;if(a=b || c=b)printf("TRUE. a=%d, b=%d, c...

2018-08-30 20:04:30 2531

原创 腾讯云主机如何使用root账号登录

1、先用ubuntu账号登录,执行sudo passwd root2、按要求输入密码,请牢记。3、执行sudo vi /etc/ssh/sshd_config4、找到PermitRootLogin without-password这一行,把后面的without-password改为yes,保存文件。5、执行sudo service ssh restart...

2018-08-30 19:59:33 5165

原创 ssh免密码登录

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面以CentOS为例。有机器A(linux),B(centOS)。实现A通过ssh免密码登录到B:1.在A机下生成公钥/私钥对。[pxgeng@gengpc ~]$ ssh-keygen -t rsa -P ''-P表示密码,-P 后的'' 就表示空密码,也可以不用-P参数,这样就要...

2018-08-30 19:56:48 158

原创 npm切换阿里源

Node 的官方模块仓库网速太慢,模块仓库需要切换到阿里的源。不安装 cnpm 只用淘宝镜像,设置 npm 的镜像:$ npm config set registry https://registry.npm.taobao.org/执行下面的命令,确认是否切换成功。$ npm config get registry...

2018-08-30 19:54:04 17816

原创 更改pip源至国内镜像

清华大学的pip源像https://pypi.tuna.tsinghua.edu.cn/simple临时使用:可以在使用pip的时候加参数-ihttps://pypi.tuna.tsinghua.edu.cn/simple永久修改:Linux下,修改~/.pip/pip.conf,添加内容[global]index-url = https://pyp...

2018-08-30 19:51:45 417

原创 解决Ubuntu下pycharm无法输入中文的问题

1、通过快捷键Ctrl + Alt + T打开终端命令操作窗口,输入:sudo nautilus,然后根据提示输入密码,输入完毕可能会出现些警告信息,不用管。nautilus这个命令是用于以root权限打开文件管理窗口。2、在这个界面中通过“计算机”进入pycharm.sh所在文件夹。一般在安装包的bin文件夹中。以上操作也可直接在命令行中完成,管理员权限下直接使用vim打开文件进行编...

2017-06-10 16:00:43 19025 14

PySide2实现3D场景中的网格线

利用PySide2和qml来实现3D场景中的网格线--代码示例。

2019-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除