python 漂亮界面demo_demo
炫彩编程手册
更新日期:2020-11-10
简介
界面库设计器与编程语言结合, 集成化开发, 提高开发效率, 减少工具切换, 减少代码输入, 降低重复工作
炫彩编程python风格精简语法, 支持全中文开发,轻量级开发环境, c++运行效率
帮助想学编程,又不懂英文的用户
帮助业余编程人员学习编程
帮助个人开发者简单快速开发软件
帮助专业程序员更好的享受编程
从入门 ->到进阶 -> 到大神, 适合不同层次专业或业余编程人员, 个人或团队开发
炫彩IDE 集界面设计 编码 编译 调试 发布,
未来将支持跨平台,跨语言
编程开发学习一个工具就够了,不必浪费精力学习其他编程语言和工具
UI, 编码, 集成, 可视化, 简单, 快速, 运行效率,中文,英文, 从入门到大神之路
*.xh 特殊头文件 包含外部C/C++头文件, 声明外部函数,数据类型, 宏定义
*.xc 源文件 源代码文件
代码对齐TAB: 强制使用TAB对齐代码块, 不可用空格对齐
pass: 空行占用
支持与C++代码混合, 支持调用外部DLL
支持 中英双文变量函数名称
特性
炫彩编程IDE,集成化, UI可视化, 减少开发中工具的切换, 增加集成度, 智能化, 减少重复工作
内置炫彩界面库支持
支持中文编程, 支持英文编程, 满足不同的人群
新的语法和封装, 相比C++入门更简单, 去除头文件及前置声明概念, 精简语法, 减少代码输入量
与C++相同的性能, 本身底层就是C++编译
可扩展 支持与C++代码混合, 支持调用DLL, C++的库都可以拿来用
支持UNICODE, x64
python 代码风格, 代码更加精简整洁
未来支持跨平台, 支持转换为其他编程语言程序
代码编辑器双模式; 支持代码模式(纯文本)与代码表格模式(类似易语言代码表格)切换
环境安装
下载IDE
炫彩QQ群共享下载, 群号:1653999
环境设置
默认附带VC14开发库, 如果需要其他版本VC请自己修改配置,方法如下:
将 "data\VC\VC14.0-Debug-DLL\" 目录下DLL文件复制到: "C:\Windows\"
或者""C:\Windows\System32\"
或者 添加到环境变量PATH里
(如果已安装了VC14 可忽略)
模块文件夹路径: data\VC\XC\
发布Release模式下编译的exe, 默认是静态编译, 不依赖VC环境DLL
默认带的运行环境vs2015 - VC14.0, 如果使用其他VC版本环境需修改配置文件 "data\config\config.config"
运算符
+
加
-
减
*
乘
/
除
=
等于
%
求余
++
自增1
--
1 自减1
+=
加等于
-=
减等于
==
等于
!=
不等于
<
小于
>
大于
<=
小于等于
>=
大于等于
&&
逻辑与
||
逻辑或
!
取反
&
位与
|
位或
<<
位左移
>>
位右移
注释
单行注释
整型 a //单行注释
多行注释(开发中...)
整型 a
/* 多行注释内容
整型 b
整型 c
*/
整型 d
整型 e
[+]流程控制
如果...否则 if...else
//如果 判断条件
// 条件成立
//否则
// 条件不成立
整型 a = 1
整型 b = 2
如果 a == 1
调试输出("a==1 成立") //此语句将被执行
否则
调试输出("a==1 不成立")
如果 (a==1) && (b==2) //当 a=1 并且 b=2 时 条件成立
pass
循环 while
//循环 条件
// 执行代码
整型 i=0
循环 i<5
调试输出(i)
i++
变量循环 for
变量循环 整型 i=0; i<3; i++
调试输出(i)
计次循环 for
计次循环 整型 i=0; 3 //变量i: 为循环索引; 数字3: 为循环次数; 当i=0时循环3次(0,1,2), 当i=1时循环2次(1,2)
调试输出(i) //输出索引 i 的值
列表循环 for
//普通数组循环
整型 数组A[3]={0}
列表循环 整型 i; 数组A //将循环3次 0-3; 变量i: 接收当前索引值, 数组A: 数组变量
调试输出(数组A[i])
//动态数组循环
动态数组 数组A // 尖括号<>内, 可以是任意数据类型, 比如: 整型, 文本, 指针, 对象; 理解为C++的模板
数组A.添加项(1)
数组A.添加项(2)
数组A.添加项(3)
列表循环 整型 i; 数组A
调试输出(数组A[i])
//字典循环
字典 字典A
字典A[1]=10
字典A[2]=20
字典A[3]=30
列表循环 迭代器 迭代器项; 字典A //迭代器项: 接收当前返回的结果
调试输出( 迭代器项.键, " | ", 迭代器项.值) //打印当前项的键和值
分支判断 switch
分支判断: 需要手动添加"跳出"命令
分支判断跳出: 自动跳出分支
def 整型 测试_分支判断()
调试输出("测试_分支判断")
整型 a=1
分支判断 a
判断 1
调试输出(1)
跳出
判断 2
调试输出(2)
跳出
其他
调试输出(3)
a = 3
分支判断跳出 a
判断 1
调试输出(1)
判断 2
调试输出(2)
其他
调试输出(3)
返回 0
[+]程序入口
控制台程序 示例
def 整型 入口函数()
调试输出("你好! 炫彩编程")
返回 0
窗口程序 示例
#库文件 "xcgui.lib"
#头文件 "xcgui.h"
#宏定义 SW_SHOW 5
HWINDOW hWindow=0
def 回调 整型 My_EventBtnClick(整型* pbHandled) //按钮点击事件
调试输出("按钮-关闭窗口")
*pbHandled=1
返回 0
def 整型 入口函数_窗口()
XInitXCGUI() //初始化界面库
hWindow=XWnd_Create(0,0,500,300, "xcgui-window") //创建窗口
如果 hWindow
HELE hButton=XBtn_Create(20,60,80,25,"关 闭",hWindow) //创建按钮
XBtn_SetTypeEx(hButton, button_type_close)
XEle_RegEventC(hButton,XE_BNCLICK,My_EventBtnClick) //注册事件
XWnd_AdjustLayout(hWindow) //调整布局
XWnd_ShowWindow(hWindow,SW_SHOW) //显示窗口
XRunXCGUI()
XExitXCGUI()
返回 0
数据类型
整型(int) 4字节
无符号整型(unsigned int) 4字节
短整型(short) 2字节
无符号短整型(unsigned short) 2字节
字节型(byte) 1字节
浮点型(double) 8字节
文本(字符串操作对象)
文本A(字符串操作对象,多字节编码)
指针(*) 4字节 例如: wchar_t*, int*
字符型(wchar_t) 2字节
字符型A(char) 1字节
无类型(void)
整型 type_int= 1000
短整型 type_short=100
字节型 type_byte=10
浮点型 type_float=3.14
整型 type_array_int[10]={0}
文本 type_text = "123-ABC"
调试输出("测试_数据类型 整型: ", type_int, " 大小:",sizeof(type_int))
调试输出("测试_数据类型 短整型: ", type_short, " 大小:",sizeof(type_short))
调试输出("测试_数据类型 字节型: ", type_byte, " 大小:",sizeof(type_byte))
调试输出("测试_数据类型 浮点型: ", type_float, " 大小:",sizeof(type_float))
调试输出("测试_数据类型 数组: ", type_array_int, " 大小:",sizeof(type_array_int))
调试输出("测试_数据类型 文本: ", type_text, " 大小:",sizeof(type_text))
[+]数据容器
高级数组
高级动态数组
待补充...
高级字典
待补充...
数组
整型 整型数组[10]={0} //定义10个成员的整型数组, 初始每个成员值为0
浮点型 浮点数组[10]={0}
C++容器字典 std::map
对应模块文件 map_wrap.h; 用户可修改文件对其扩展
字典 变量名
模块接口见IDE中模块
字典 变量名
字典 字典A
字典A["aaa"] = 1
字典A["bbb"] = 2
字典A["ccc"] = 3
整型 大小 = 字典A.大小() //取字典成员数量
整型 a = 字典A["aaa"] //取键"aaa" 对应的值
迭代器 迭代器_查找_a = 字典A.查找("aaa") //或者: 字典::迭代器 迭代器_查找_a = 字典A.查找("aaa")
如果 迭代器_查找_a != 字典A.空值()
调试输出("找到")
否则
调试输出("未找到")
列表循环 迭代器 迭代器项; 字典A
调试输出( 迭代器项.键, " | ", 迭代器项.值)
C++动态数组 std::vector
对应模块文件vector_wrap.h 用户可修改文件对其扩展
动态数组 变量名
模块接口见IDE中模块
动态数组 数组A;
数组A.添加项(1)
数组A.添加项(2)
数组A.添加项(3)
整型 数组大小 = 数组A.大小()
列表循环 整型 i; 数组A
调试输出(数组[i])
列表循环 整型 i; 数组A
调试输出(数组A[i])
函数 function
如果不检查参数, 声明函数时参数"..."
def 返回值 函数名(...) //IDE不检查参数; 例如当参数类型为任意型时或参数数量不固定时
def 整型 相加(整数 a, 整数 b)
返回 a+b
def 回调 整型 按钮点击事件(整型* pbHandled)
调试输出("按钮被点击")
返回 0
[+]类 class
构造函数 和 析构函数没有返回值
类 测试类
整型 _a //成员变量
def构造() //构造函数
_a = 10
def析构() //析构函数
pass //pass占位行, 没有实际意义
def 整型 Add(整型 a, 整型 b) //成员函数
返回 a+b+_a
测试类 测试类_
整型 c = 测试类_.Add(1,2)
调试输出(c)
类 大小
整型 宽度
整型 高度
大小 大小_
调试输出("宽度=", 大小_.宽度)
调试输出("高度=", 大小_.高度)
类的继承
类 CA
def无返回 Add(整型 a, 整型 b)
调试输出("CA::Add()")
类 CB 继承 CA
def 无返回 Add()
调试输出("CB::Add()")
def 整型 入口函数_窗口()
CB cb
cb.Add()
CA* ca = &cb //取地址
ca->Add(1,3)
返回 0
类虚函数
虚函数: 子类有的调用子类, 子类没有的调用父类的
子类重写虚函数可以覆盖父类的函数功能
析构函数也可以为虚函数, 好处是用基类的指针释放时自动调用子类析构函数,否则子类析构函数不会被触发
类 CA
def 虚函数 无返回 Add(整型 a, 整型 b)
调试输出("CA::Add()")
类 CB 继承 CA
def 虚函数 无返回 Add()
CA::Add() //可强制调用父类中的CA::Add()函数
调试输出("CB::Add()")
def 整型 入口函数_窗口()
CB cb
cb.Add() //调用CB类中的Add()函数
CA ca= cb //转换对象类型为CA, 因为CA是CB的基类,所以可以转换
ca.Add() //调用CB类中的Add() 函数
//因为CB类重写了CA类中的Add()函数, 所以覆盖了CA::Add()
返回 0
new delete 操作
RECT* rc=new RECT //new 对象
rc->left=10 //赋值
调试输出(rc->left) //打印输出
delete rc //删除对象
取变量地址
取普通变量地址
整型 a = 10 //定义整型变量
整型* pA = &a //取变量地址
调试输出(pA) //打印地址
调试输出(*PA) //打印值
取类变量地址
RECT rc //定义对象
RECT* pRc = &rc //取对象地址
调试输出(&rc) //打印对象地址
定义宏(内部定义宏 与 声明外部宏)
#宏定义 SW_SHOW 5
#外部宏 SW_SHOW //声明在外部文件中已经存在的宏
[+]技巧
调试输出(UNICODE编码)
UNICODE编码, 双字节 wchar_t*
调试输出("打印一行信息到输出窗口")
整型 a
文本 text="你好! 炫彩编程"
调试输出("a=",a, ", text=", text) //打印变量值
调试输出(多字节编码)
在字符串前面加字幕"A"代表多字节编码 char*
调试输出(A"打印一行信息到输出窗口")
整型 a
文本A text=A"你好! 炫彩编程"
调试输出(A"a=",a, A", text=", text) //打印变量值
占位空行 pass
def 无返回 函数名()
pass
一行写多条语句
分号";"代表后面语句不换行
冒号":"代表后面语句是子集块
整型 a = 1; 整型 b = 2 //一行写多条语句用 ; 分开
整型 c = a + b
子集块不换行写法
整型 a=10
如果 10==a : 调试输出("a==10"); 调试输出("条件成立") //将子集块写在同行
如果 10!=a : 调试输出("a!=10");
否则 : 调试输出("a==10")
多段字符串拼接
文本 text = "123""456"
"789"
//结果为:text = "123456789"
[+]扩展
包含外部头文件
#头文件 //系统头文件, 不解析文件内容
#头文件 "xcgui.h" //普通头文件, 解析文件内容
#库文件 "xcgui.lib" //静态库或动态库lib文件
可使用隐藏命令,隐藏不需要解析的代码,提高解析速度,排除无法解析的内容; 见模块封装
外部函数及类型声明
如果某个函数已存在外部代码或库中, 只需要在在*.xh文件中声明类型
例如:
声明外部函数, 参数中 "..."三个点代表不检查参数,省略掉
int sizeof(...) //声明外部函数
void Sleep(int dwMilliseconds)
声明外部类
类 RECT
类 CSize
声明外部基础类型, 或未知类型
#外部类型 HDC //声明外部定义的类型
#外部类型 HANDLE //声明外部定义的类型
调用外部库 DLL
例如: 调用炫彩界面库DLL
DLL-头文件: xcgui.h
DLL-lib文件:xcgui.lib
与C++代码混合
与C++代码混合使用方法
test.h 头文件
int add(); //声明函数
test.cpp 源文件
#include "common__.h" //包含预编译
int add()
{
OutputDebugString(L"123\n");
return 99;
}
或者在*.xh文件中声明外部函数
在*.xc源文件中 包含c++ 头文件和源文件, 调用c++代码中的add()函数
嵌入C++代码
#code
此处嵌入C++代码
#end_code
[+]模块
模块默认位置: IDE文件夹\data\VC\XC\
模块文件:module_*.h, module_开头的(*.h)文件为模块文件
IDE启动时, 自动搜索此目录下的模块文件
模块中只列出类的公开成员(public)
可使用隐藏命令, 隐藏不需要解析的代码, 排除无法解决的代码, 提高解析速度
可使用分组命令, 对全局函数进行分组, 便于浏览管理
模块选择对话框
项目视图->右键菜单->选择模块
选择当前项目中使用的模块
模块浏览器
查看模块中的接口及说明
调用模块
项目视图->右键菜单->选择模块, 勾选模块 "字符串操作" module_test.h
def 整型 测试模块()
字符串类 字符串="abc"
字符串.增加字符串("123")
整型 位置 = 字符串.查找("123")
返回 字符串.获取大小()
[+]模块封装
参考示例: IDE中 module_base.h 模块包装; 位置: IDE文件夹\data\VC\XC\module_base.h
别名
声明(类, 变量, 函数, 函数参数名) 别名, 以便在IDE中使用中文名称调用
//@rename 别名(别名, 别名, ...)
声明
对已存在的(类, 函数)别名, 使用多行注释包裹声明代码
/*@声明
代码...
*/
包含CPP文件
在头文件中声明包含cpp文件,(加入编译文件列表)
如果直接在(.h)文件中包含cpp文件, 当多个文件中包含该(.h)文件时会造成重复的实现, 例如:函数已在(*.obj)模块中已存在,造成重复
所以这里采用特殊方法声明要包含的cpp文件, IDE编译代码时, 自动连接cpp文件,避免重复的实现
/*@声明
#src "pugixml.cpp" //例如包含cpp文件 pugixml.cpp
*/
包含lib文件
/*@声明
#lib "xcgui.lib" //包含lib文件
*/
模块文件说明信息
在模块文件开始位置加入模块详情, 例如:
//@模块名称 炫彩界面库-c接口
//@版本 1.0
//@日期 2020-10-23
//@作者 XCGUI
//@模块备注 炫彩界面库-c接口
// 备注换行
函数参数说明
//@备注 两个数相加
//@参数 a 输入一个整数
//@参数 b 输入一个整数
//@返回 返回a+b结果
//@别名 相加(整型, 整型)
int Add(int a, int b)
{
return a+b;
}
隐藏代码
//@隐藏{
此处的代码不会被解析, 跳过
//@隐藏}
分组
//@分组{ 组名称
组内代码, 例如: 类, 全局变量, 全局函数, 结构体, 枚举, 宏
//@分组}
#智能指针
此接口宏是为了自动模拟智能指针操作,减少重复工作, 手动模拟请看后面章节
模拟C++ 智能指针接口, 默认模拟的接口不检查参数(为了适应更多接口变化)
//假如模拟下面的智能指针为例
#智能指针 CefRefPtr CefBrowserPtr
//CefRefPtr 智能指针类
//CefBrowser 包装的对象
//CefBrowserPtr 别名类
//那么T为CefBrowser*
//默认自动模拟以下接口, 并且继承CefRefPtr中的接口,
//如果没有解析CefRefPtr, 可以模拟此类及其接口
T* get() //CefBrowser* get()
addRef()
addref()
AddRef()
Release()
release()
T* operator->()
//CefRefPtr 中的接口
用法示例
#智能指针 CefRefPtr CefBrowserPtr //模拟智能指针接口, 用法与C++中一样
CefBrowserPtr m_cefBrowser //定义智能指针变量
m_cefBrowser->GetHost() //调用CefBrowser接口GetHost()
CefBrowser* pCefBrowser = m_cefBrowser.get() //调用智能指针自身接口
#智能指针_仅声明
仅声明智能指针接口, 例如C++源码中已经定义了智能指针类型, 仅声明接口即可
.h文件
//假如已经定义智能指针类型
typedef CHPSocketPtr CTcpClientPtr;
.xc文件
#智能指针_仅声明 CHPSocketPtr CHttpClientPtr //仅声明接口, 避免造成重复
模拟-模板继承
解析C++文件时, 不支持模板解析, 所以需要模拟接口
//test.h
//C++ 原文件
//假如 T1 是 class CA
//假如 T2 是 class CB
template
class CMyClass : public T, T2 //CMyClass 继承类 T1 T2, 拥有T1和T2 的全部接口
{
};
typedef CMyClass CMyClassD;
//---------模拟封装接口------------
/*@声明
//@备注 自定义双接口类
//@别名 测试类
class CMyClassD : public CA, CB
{
};
*/
//test.xc
//测试模块
CMyClassD myClass //继承 CA, CB成员 CMyClass myClass
myClass.CA成员 //可调用CA成员
myClass.CB成员 //可调用CB成员
模拟-模板智能指针
假如是智能指针, 需要模拟智能指针接口 和 重载操作符继承接口
//text.h
//C++ 原文件
//假如 T 是 class CA
template
class CPtr
{
public:
T* operator->();
void operator=(T* pObj){ m_pObj = pObj;}
T* Attach(CMyClass *pClass);
T* Detach();
private:
* m_pObj;
}
typedef CPtrCaPtr;
class CA
{
public:
int Add(int a, int b){ return a+b;}
};
//---------模拟封装接口------------
/*@声明
class CaPtr
{
public:
CA* operator->(); //模拟此接口 可以调用CA成员
CA* Attach(CA* pObj);
CA* Detach();
private:
T* m_pObj;
};
*/
//test.xc
//测试模块
CaPtr ptr = new CA // CPtr ptr = new CA
ptr->Add(1,2) //调用 CA成员函数
ptr.Detach() //调用 智能指针函数
模块封装示例
//假如 CStringBase 类已存在,原型如下
class CStringBase
{
public:
int GetSize();
const wchar_t* GetString();
void AddString(const wchar_t* pString)
};
模块文件名: module_test.h
将此文件放入目录 IDE文件夹\data\VC\XC\module_test.h
//module_test.h
//定义CMyString类 继承CStringBase类, 并且对基类CStringBase中的函数别名
//CMyString 类中实现查找功能函数 Find(), 添加成员变量 m_status
#ifndef MY_TEST_WRAP_H
#define MY_TEST_WRAP_H
//@模块名称 字符串操作
//@版本 1.0
//@日期 2020-10-23
//@作者 XCGUI
//@模块备注 字符串操作示例模块,
//此示例仅供参考
/*@声明
#src "module_text.cpp" //包含cpp文件
#lib "xcgui.lib" //如果用到礼拜文件
*/
//@别名 字符串类
class CMyString : public CStringBase
{
public:
/*@声明 //此处是对已存在的函数 声明
//@别名 获取大小()
int GetSize()
//@别名 获取字符串指针()
const wchar_t* GetString();
//@备注 增加字符串到末尾
//@参数 pString 要添加的字符串
//@返回 无返回值
//@别名 增加字符串(字符串)
void AddString(const wchar_t* pString)
*/
//@别名 查找(字符串)
int Find(const wchar_t* pString)
{
int ret = -1;
//查找代码...
return ret;
}
//@别名 状态
int m_status; //状态
};
#endif
[+]炫彩编程 - IDE -界面库
左侧的函数列表, 当保存代码时更新
新建项目(炫彩编程)
UI布局文件生成代码类
UI生成事件代码
项目属性-Debug/Release
设置Debug\Release编译选项
资源文件 resource.rc
新建项目 勾选炫彩编程, 在项目文件夹下,将生成RC资源文件和程序图标
用记事本工具打开编辑文件 resource.rc
可添加 图标, 版权 等内容
默认第一个图标为exe文件图标
如果项目目录下没有资源文件,那么编译时忽略rc资源, 资源文件固定名称为 [resource.rc]
用VS修改RC资源文件
如果不会编辑RC文件, 可以用VS修改
注意: vs中rc资源文件是包含 "resource.h" 头文件, 因为炫彩不需要,所以没有
自己把这一行代码注释取消,随便新建个 "resource.h"文件, 不然VS会提示找不到"resource.h"
转到定义
在变量上按鼠标右键弹出菜单->转到定义, 跳转到指定文件行
搜索
点击搜索按钮, 输入搜索内容, 查找结果在输出窗格显示
调试 IDE
F5: 编译和调试
F7: 编译
F9:下断点
F10: 单步
F11: 步入
python 漂亮界面demo_demo相关推荐
- python 漂亮界面demo_在这个什么都看脸的时代,如何用 GUI 提高 python 程序的颜值?...
0.前言 有不少初学者会问,Python 写的程序看起来好丑啊,只能在那个黑黑的框里运行吗?隔壁家的 JS 好像挺好看的,还能有酷炫效果呢-- 其实呢,术业有专攻,Python 擅长的领域在后台服务器 ...
- python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序
原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...
- python优秀界面demo_python漂亮界面demo-女性时尚流行美容健康娱乐mv-ida网
女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 读写/追加exc ...
- python小技巧大应用--基础实用漂亮界面(无边框,圆角,可拖拽)
这回要实现一个漂亮的基础界面,要具有如下特色: 无边框,圆角,漂亮的背景,可拖拽移动,具有最小化,关闭按钮,界面与代码分离,支持qss 先展示一下最后的效果: 那就开始工作吧: 1.通过Qt Desi ...
- 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)
原标题:基于Python语言的自动化测试实战第二章(上) 测试环境搭建 2.1 Windows 下的环境搭建 如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要 ...
- python使用界面-推荐8款常用的Python GUI图形界面开发框架
作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...
- python简单编程例子-中文方便就用中文编程!Python图形界面开发实例
原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...
- python可视化窗口编程-Python可视化界面编程入门
Python可视化界面编程入门具体实现代码如所示: (1)普通可视化界面编程代码入门: import sys from PyQt5.QtWidgets import QWidget,QApplicat ...
- python软件界面-python软件界面介绍(python软件介绍)
python软件界面介绍 1.接口初始化 当我们使用pycharm工具时,我们将遇到的第一个问题是,在进行各种配置后界面变得混乱时,我们该怎么办?我们应该还原,那么如何还原初始设置? 尽管此工具是从e ...
最新文章
- 编程之法----面试和算法心得
- Golang mysql数据库
- python读取txt文件并批量写入不同的excel
- 【Linux】一步一步学Linux——users命令(101)
- luogu4267 TamingtheHerd (dp)
- Socket网络编程--小小网盘程序(3)
- 2022. 将一维数组转变成二维数组
- 消息队列解耦是骗小孩儿的
- 要想深入理解mysql索引?这16个点你必须要了解!
- POJ 2763 Housewife Wind【LCA_RMQ+树状数组】
- 运用“异或”对原文加密,并解密
- android 7相机拍照功能介绍,android7 相机拍照流程
- 递归系列——递归树与函数记忆化
- 区块链100问:区块链到底能不能篡改?
- mongodb,Mysql,redis基础教程
- 萤火虫算法matlab实现,萤火虫算法,matlab代码.doc
- 数据线CE测试标准 准备资料
- AVAudioPlayer常用属性
- OD使用教程 调试篇01
- Python项目实战 3.4:异步消息队列.Celery+RabbitMQ
热门文章
- 三元乙丙橡胶复合行业调研报告 - 市场现状分析与发展前景预测
- 从HTTP请求中获取客户IP地址
- B.FRIENDit壁虎忍者悬浮式黑轴机械键盘 台式电脑笔记本外接有线游戏键盘IGK2-ST白色套装
- 13.Ubuntu20.04使用网线连接路由器无法上网
- 浅谈多回路故障电弧探测器在某高校项目上的应用
- 响铃:竞争战略视角下,品牌打造的假象与真相
- 学计算机专业用微软和华为xpro,全新苹果MacBook Pro对比华为X Pro 两者到底选谁?...
- android 游戏分辨率是多少合适,android – 多屏幕分辨率/宽高比(游戏)
- Android手机中热点配置文件保存路径
- Linux 5.15将修复早期补丁让软盘驱动器设备出错问题