PyQt笔记
PyQt5.15.4(python 32bit)连接mysql 64位数据库
下载mysql-connector-c-6.1.6-win32.msi:版本太新的话,可能不含所需dll文件。
解压后的文件F.lib.libmysql.dll重命名为libmysql.dll,放入python/Lib/site-packages/PyQt5/Qt5/bin文件夹中
下载qsqlmysql.dll_Qt_SQL_driver_5.15.2_MSVC2019_32-bit.zip,其他版本/位数的dll详见:https://github.com/thecodemonkey86/qt_mysql_driver/releases)
解压后sqldrivers中的文件qsqlmysql.dll与qsqlmysqld.dll两份文件,放入python/Lib/site-packages/PyQt5/Qt5/plugins/sqldrivers文件夹中
Complete!
原因:每个PyQt版本都对应一个Qt版本,由于Qt在5.12.x更新后官方不提供mysql的dll,需要自行编译。
P ...
Pandas笔记
Useful linkJoyful Pandas:http://joyfulpandas.datawhale.club/Content/
Pandas学习Blog:https://re-thought.com/author/anna/
Dataframe基础操作
改变某一列的数据类型:``df[‘col_name’]= df[‘col_name’].astype(float)`
某一列的值转换为列表输出:df[num_name].to_list()
按某列的值排序:df.sort_values(by="DUT", ascending=True),ascending=True为升序,False为降序
新增一列相同值的数据:df['col_name']=?
改变列顺序/按指定顺序提取列:df =df[['col1', 'col2']]
12345678repeat_df = df[ids.isin(ids[ids.duplicated()])].sort_index()# 遍历df的index for x in ...
Python 笔记
写Bug途中的碎碎念
用字典时,注意key唯一值的唯一性,两个value对应相同key,但需要区分时,需要选用其他key(如数字)
数据库主键同理,不容易确定唯一性/多简直可选用自增主键/uuid
Sqlite3123456789insert into TABLE_NAME [(column1, column2, column3,...columnN)] values (value1, value2, value3,...valueN);/*如果要为表中的所有列添加值,可以不在语句中指定列名称。但要确保值的顺序与列在表中的顺序一致*/insert into TABLE_NAME values (value1,value2,value3,...valueN);update TABLE_NAME set column1 = value1, column2 = value2...., columnN = valueN where [condition]delete from TABLE_NAME where [condition]PRAGMA table_info('t ...
软件设计编写中mysql related
mysql语句1234# mysql重置自增主键id值,可以为0或者目前最小id值ALTER TABLE table_name AUTO_INCREMENT = 0;# 替换某个表中的字段值字符串 replaceUPDATE table_name SET 字段名 = REPLACE('str', 'from_str', 'to_str') where 字段名 like '%str%'
mysql基础
bool类型会被存储为TINYINT(1)
设置自增主键为已有最小值开始自增:ALTER TABLE table_name AUTO_INCREMENT =1;
数据类型
https://segmentfault.com/a/1190000019447574
整型MySQL 可以为整数类型指定宽度,例如 INT(11),对大多数应用这是没有意义的:它不会限制值的合法范围,只是规定了 MySQL 的一些交互工具(例如 MySQL 命令行客户端)用来显示字符的个数。对于存储和计算来说,INT(1) 和 INT ...
QtCreator/VS2015/Clion配置
VS2015作为QtIDEIDE切换:QtCreator的项目 transfer to VS2015
选择对应64/32bit的VS2015命令行工具:适用于VS 2015的x64/x86本机工具命令提示
在命令行工具中,cd进入该项目文件夹:cd /d F:\ProjectDir
执行qmake命令:qmake -tp vc,vc表示生成vs可以识别的工程文件,-tp表示根据pro文件参数值生成工程文件
文件->打开->项目/解决方案->xxx.vcxproj
Build可能会遇到的报错:Qt5Widgetsd.lib(Qt5Widgetsd.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
原因:项目配置的附加依赖项为64bit,C:Qt\Qt5.12.8\5.12.8\msvc2015_64\lib\xxx.lib
改为32bit路径的链接库即可:msvc2015_64 -> ...
Qt开发笔记
Qt - Windodw识别设备插拔事件Winodws系统消息结构:#include <qt_windows.h>
12345LRESULT CALLBACK WindowProc( HWND hwnd, // handle to window UINT uMsg, // WM_DEVICECHANGE WPARAM wParam, // device-change event LPARAM lParam ); // event-specific data
设备插入/拔出:#include <Dbt.h> msg->wParam
Value
Meaning
DBT_DEVICEARRIVAL
A device or piece of media has been inserted and is now available.
DBT_DEVICEREMOVECOMPLETE
A device or piece of media has been removed.
设备接入类型:msg->lP ...
Mac 读写ntfs U盘
Mac 读写ntfs U盘
macOS High Sierra 10.13.6
每次读写ntfsU盘都需要重新挂载:
找盘符:diskutil list
解挂载,但U盘不拔出:diskutil unmount disk2s1
创建之后要挂在的文件夹:sudo mkdir /Volumes/disk2s1
重新挂载:sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /Volumes/disk2s1
打开挂载的U盘文件夹:open /Volumes/disk2s1/
用完后在/Volumes中「弹出」移动硬盘
12345678910111213141516Last login: Fri Jun 17 09:44:17 on ttys000➜ ~ diskutil list/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_part ...
Qt5.12 + MSVC2015 +(VS2015 + clion)环境搭建
三种Qt开发环境方案
Win10搭建Qt + Clion 版本选择与开发环境方案
Qt5.12.8 + Clion/QtCreator + MinGW:无法使用MSVC编译的lib库
Qt5.12.8 + QtCreator + MSVC2015 +(+WinSDK) 免安装VS2015:无法用Clion进行调试开发
Qt5.12.8 + Clion/QtCreator + VS2015/MinGW :需要安装VS2015,才能在Clion中配置MSVC的Toolchains((虽然麻烦但是…JetBrainsYYDS!))
Qt/MSVC/Clion版本选取
选择Qt版本:Qt5.12.8,支持Win7,可以断网跳过登录账号。
Qt在5.7之后不支持Win XP 系统,新增了QCharts组件,用于数据的可视化
Qt5.15开始不支持离线安装,只能在线安装
Qt6不支持Win7与Win10的32bit版本
选择Clion版本:
Clion无社区版,商用版有30天试用期,利用第三方插件重置试用期(试用期与正式版功能一致)感谢作者大佬!
插件适用性:2021.2.2及以下 ...
22年的ToDoList-work related
May ToDoList
Item
Note
python excel 生成图表
tableView的委托:禁止写入与写入字段卡控整理
Complete 05/11
Pyqt5提示框保存文件后,打开文件/文件访问链接
Complete 05/11
整理内网环境搭建python的步骤
April ToDoList
Item
Note
导入Word模板,如果超出excel列数的,忽略
卡控已存在,Bug具体情况未知
Word模板带百分号的无法正常显示
Fixed! 04/06
输入仪器编号部分,可以选择类型,l_e获取查询类型的编号/选择表格Item
tableview绑定sqlite数据库,搜索。Complete 04/26
Linux下自动查找某个压缩包的文件夹的文件进行权限设置,并重压缩
python shell finished,待归为Linux GUI程序
TableWidget设置为双击行或者单元格进行Check
? 忘记写的啥了Orz
Word导入模板时大于列数,优化为截取数量相符的字典数据
查阅Sqli ...
C语言试卷笔记
易错点
程序填空题:已知程序的功能也要将整个程序的每一个语句看完 (通常有坑)
求平均值,近似值(小数点)的题目,注意int类型相除赋值给float型的错误。
填条件时
i 的值是为1还是为0,i 是小于还是小于等于
i++ 还是 i– ,i- -通常是逆序操作
循环次数是几次?
== 还是 != ?
%f输出时,小数不足6位添0 → 89.500000
问输出结果的时候,注意有没有换行符,制表符等。
调用两个参数的函数时,注意写入实参的顺序有没有坑。fun(&y, &x)
for循环,j=0,1,2,3 里面条件为if(j%2) 满足真的j值有0和2.(不要忽略了0)
特别注意问输出结果:printf的变量是int还是double型的。double w = int(a+b) 那么w仍然是作为double型输出的。
int t[ 3 ] [2] 则&t[ 3 ] [ 2 ]不能表达其数组元素的地址,因为越界了!
C语言中的按位运算:
& 相同为1不同为0
| 全为0才为0
^ 相同为0不同为1
~ 取反 与!功能类似关于负数的补码:eg.- ...