- 博客(42)
- 收藏
- 关注
原创 Linux 常用命令汇总
一、查看某文件夹下文件的个数1、 ls -l|grep "^-"|wc -l 说明:ls -l 长列表输出该目录下的文件信;grep "^-" 对信息进行过滤,值保留一般文件,如果只保留目录 则是grep "^d" ; wc -l 统计输出信息的行数。(一行信息是一个文件)2、find ./filename -type f |w -l二、查看文件夹大小1、du -sh 查看当前文件夹大小 2、d
2017-06-28 19:01:48
331
原创 全排列非递归
递归的写法很好写,但是输出的并不是从小到大的排列。非递归的算法 就是按照字典序排列 思路: 1.对初始队列进行排序,找到所有排列中最小的一个排列Pmin。 2.找到刚刚好比Pmin大比其它都小的排列P(min+1)。 3.循环执行第二步,直到找到一个最大的排列,算法结束。如 a[5] = {1,2,3,4,5}; 这正好是字典序中最小的。 从此处开始 从后向前
2017-03-07 20:11:07
392
原创 SQL表格模型QSqlTableModel
QSqlTableModel The QSqlTableModel class provides an editable data model for a single database table. QSqlTableModel is a high-level interface for reading and writing database records from a single
2017-02-16 14:45:54
7362
1
原创 Qt数据库模型
Qt中使用了自己的机制来避免使用SQL语句,为我们提供了更简单的数据库操作及数据显示模型,分别是只读的QSqlQueryModel操作单表的QSqlTableModel可以支持外键的QSqlRelationalTableModelQSqlQueryModel The QSqlQueryModel class provides a read-only data model for SQL
2017-02-15 17:19:15
1273
原创 QSettings 保存配置信息
今天 想到自己写的tableWidget 在第二次打开时不能恢复第一次时进行过的操作。一开始想到的办法是 建立一个 三元组< row,column,item> 在每次对cell操作后都保存下来。最后在关闭的时候将这个三元组保存下来。 但问题出在 item 是 QTableWidgetItem 类型。流文件写入总是显示 <<运算符有错。应该是没有重载。 (其实可以保存 item->type()
2017-02-14 16:37:19
1121
转载 多窗口之间使用信号槽 信号槽连接方式
今天在 tablewidget中写了个委托。 想实现 点击委托中的editor(一个button),在主窗口能够显示菜单。 一开始就想到了信号槽机制,但是问题在于 button 是 委托中的,没法直接与主窗口进行connect。后来发现,是自己信号槽没学好,在这里可以使用自定义的方式。 将button与委托关联,然后委托与主窗口关联。可以参照博文: http://blog.youkuaiyun.com/l
2017-02-14 09:52:51
3584
原创 View & Delegate
QAbstractItemModel 提供标准的模型接口,QAbstractItemView 提供标准的视图接口。结合这两者,就可以将数据同表现层分离。视图管理来自模型的数据的布局:既可以直接渲染数据本身,也可以通过委托渲染和编辑数据。 视图不仅仅用于展示数据,还用于在数据项之间的导航以及数据项的选择。另外,视图也需要支持很多基本的用户界面的特性,例如右键菜单以及拖放。视图可以提供数据编辑功能,也
2017-02-13 11:36:03
274
转载 QFileSystemModel
QFileSystemModel 的作用是维护一个目录的信息。因此,它不需要保存数据本身,而是保存这些在本地文件系统中的实际数据的一个索引。 这与 QStandardItemModel 不同,QStandardItemModel 能够让列表、表格、树等视图显示不同的数据结构,这种Model 会保存实际数据。Demo#include "Widget.h"#include "ui_Widget.h"
2017-02-13 10:18:07
1464
转载 QStringListModel
转载自: QStringListModel是最简单的模型类,具备向视图提供字符串数据的能力。QStringListModel 是一个可编辑的模型,可以为组件提供一系列字符串作为数据。我们可以将其看作是封装了 QStringList 的模型。 QStringList 是一种很常用的数据类型,实际上是一个字符串列表(也就是 QList< QString>)。既然是列表,它也就是线性的数据结构,因此,
2017-02-07 17:12:59
1173
原创 Qt 文件操作 & 容器
QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFlie:访问本地文件或者嵌入资源;QTemporaryFile:创建和访问本地文件系统的临时文件;QBuffer:读写 QByteArray;QProcess:运行外部程序,处理进程间通讯;QAbstractSocket:所有套接字类的父类;QTcpSocket:TCP 协议网络数据传输;QUd
2017-02-07 16:23:37
1437
转载 布局管理器的使用
布局管理类 介绍:**- QHBoxLayout 水平布局 - QVBoxLayout 垂直布局 - QGridLayout 网格布局 - QStackedLayout 把子控件进行分组或者分页,一次只显示一组或者一页,隐藏其他组或者页上的控件。**布局管理中结合控件的sizePolicy属性,进行调整结合控件的SizePolicy属性,来控制布局管理中的控件的尺寸自适应方式。控件的s
2017-02-07 13:44:39
393
原创 Qt Undo
Undo Redo 注意,push可能会删掉一些操作,如图 四个类QtUndoCommand - 用于修改document的对象的基类QtUndoStack - QtUndoCommand对象的堆栈QtUndoGroup - undo堆栈的组。很多应用程序允许用户同时打开超过一个文档,该类允许你把一组undo堆栈按一单个stack对待。QtUndoView - 继承自QListWidget,用
2017-02-06 17:25:59
2147
原创 一些小问题
今天 发现 自己做的Demo有个小问题。 在tablewidget中隐藏的conbox 会在窗口改变的时候显示出来(不想让它显示)。 原因在于: 我把tablewidget放在layout中的,窗口更改的时候 layout会重画 ,从而导致combox会重新 visible。 这就很尴尬了。解决方式: 不用布局, 但是这样一来,tablewidget的大小不会改变。 暂时未找到更好的方
2017-02-04 17:35:50
230
原创 Demo_3
使用菜单而不是combox的下滑栏的选项。若使用combox来进行操作在加减附件时,只想到了谈出新的对话框让用户选择的方式。 于是干脆添加一个空的combox 在点击该widget时发送信号,弹出菜单。这里的信号槽使用的是:QObject::connect(tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(handlePress(int,int)
2017-02-04 16:17:01
228
转载 Signals & Slots
信号当某个信号对其客户或所有者发生的内部状态发生改动,信号被一个对象发射。只有定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,和其相关联的槽将被即时执行,就象一个正常的函数调用相同。信号-槽机制完全独立于所有GUI事件循环。只有当所有的槽返回以后发射函数(emit)才返回。如果存在多个槽和某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地执行,不过他们执行的顺序将会是
2017-02-03 17:20:27
311
原创 Demo2
关于 QComboBox 终极解决办法: 用了n中方法在tableWidget中显示combox,一直出现各种问题(上一篇博客)。 这次使用了一个比较暴力的办法: 每点击一个cell就生成一combox,用完之后就删除。 这个方法一开始就想到了,问题在于用delete 就程序崩溃了。 意外发现 QComBobox 有方法:void QObject::deleteLater() 可以拿来
2017-02-03 16:05:08
362
原创 做Demo
一. 关于十字形高亮的解决方法:使用选择视图QItemSelectionModel .//将第row行与第column设置为高亮void Widget::setHighlight(int row,int column){ QItemSelectionModel *selectionModel = tableWidget->selectionModel(); QMode
2017-01-22 17:06:39
315
原创 QTableWidget,QListWidget,QTreeWidget
QTableView & QTableWidgetQTableWidget是QTableView的子类;主要的区别是: QTableView可以使用自定义的数据模型来显示内容,先要通过setModel来绑定数据源; QTableWidget则只能使用标准的数据模型,不需要数据源,将逐个单元格内的信息填好即可。 list,Tree同理。QTableWidget: QTableWidget
2017-01-19 14:38:19
402
原创 在table(0,0)中是实现电子表功能(接上一个Demo)
显示时间很简单:case Qt::DisplayRole : //展示 if(row == 0 && column == 0) return QTime::currentTime().toString();问题在于如何让他每秒都会刷新。解决方案是,定时器 , 信号/槽。添加槽函数:void timerHit()void StringListModel::ti
2017-01-18 16:29:28
395
原创 一个 只读 readonly 示例
stringListModel.cpp#ifndef STRINGLISTMODEL_H#define STRINGLISTMODEL_H#include <QAbstractListModel>#include <QStringList>class StringListModel : public QAbstractListModel{public: StringListMode
2017-01-18 15:48:20
600
原创 给数据加ID映射
处理数据的时候,想给 电影名,用户名加上id。第一想到的是 用程序写(读电影名;判重;加ID) 然后查资料,想直接用数据库进行操作。方法:
2016-04-27 18:23:17
1945
原创 表的复制语句: select into 和 insert into select
select into SELECT vale1, value2 into Table2 from Table1要求目标表Table2不存在,因为在插入时会自动创建表Table2insert into select Insert into Table2(field1,field2,…) select value1,value2,… from Table1要求目标表Table2必须存在,
2016-04-27 18:04:22
248
转载 MySQL JOIN (inner 和 left 的区别)
MySQL JOIN 的分类inner join(内连接):取得两个表中存在连接匹配关系的记录left join (左连接):以左表为基准(取左表所有记录),右表匹配向左表 right join(右连接):与left join 相反
2016-04-27 17:34:11
8411
转载 MySQL distinct 返回其他字段
在使用MySQL时,有时需要查询出某个字段不重复的记录,distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑
2016-04-27 17:00:03
6518
原创 MySQL免安装版 安装,卸载,找不到指定文件
安装:配置my.ini: basedir = mysql 的路径 datadir = 数据库存放路径,在mysql文件夹中有个data。path 配置:将mysql 的bin 目录 添加 到Path 中.cmd.exe(以管理员身份运行,否则没权限) 中 输入mysqld -install 如果前面步骤没错,则会显示 successfully!(依然管理员身份) net sta
2016-04-15 11:17:23
1067
原创 MySQL 数据导入,导出
数据导入数据库: load data local infile ‘E:\innew.txt’ into table table_name fields terminated by ‘\t’;数据库数据导出: select * from table_name into outfile ‘E:/outnew.txt’;也可以导入、导出xls 格式。只不过是 后缀换一下。 当然,也可以用第三方软件,
2016-04-15 10:40:32
388
原创 Scrapy 爬取 豆瓣电影的短评
之前爬取电影信息的时候,将电影短评的url一并存起来了。 因此爬取电影短评的时候只需将数据库中存在的url 放入start_urls中就好了。spider.py# -*- coding: utf-8 -*-from scrapy.selector import Selectorfrom scrapy.spiders import Spiderfrom scrapy.http import R
2016-04-15 10:30:35
7537
原创 scrpy 豆瓣电影信息爬取
scrapy 的组件和 流程: 前段时间因为需要,爬了几部豆瓣电影,才开始接触scrapy ,不过网上代码很多,而且文档里也有不少例子。所以 入门还是很容易的。 这里附一下 文档的地址: https://scrapy-chs.readthedocs.org/zh_CN/0.24/index.html; https://scrapy-chs.readthe
2016-04-15 09:41:16
1586
转载 Python 字符串操作
1.复制字符串 strcpy(sStr1,sStr2) sStr1 = ‘strcpy’ sStr2 = sStr1 sStr1 = ‘strcpy2’ print sStr22.连接字符串 strcat(sStr1,sStr2) sStr1 = ‘strcat’ sStr2 = ‘append’ sStr1 += sStr2 print sStr13.查找字符 strchr(
2016-03-24 12:55:37
293
原创 石子合并的动态规划解决方案
问题描述: 在一个圆形操场的四周摆放着n 堆石子。现将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。动规合并过程:以序列: 9 6 7 9 20 为例:第一次合并: 15 7 9 20 //9,6合并 score = 15第二次合并:
2015-12-29 16:23:38
653
原创 吝啬的国度 nyoj
描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据的第一行输入一个正整数N(1随后的N-1行,每行有两个正整数a,b(1输出每组测试数据
2014-12-22 22:57:20
567
原创 NYOJ 寻找最大数(三)
描述给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。求这个新的整数的最大值是多少。输入多组测试数据。每组测试数据占一行,每行有两个数N和K (1 ≤ N≤ 10^18; 0 ≤ K ≤ 100).输出每组测试数据的输出占一行,输出移动后得到的新的整数的最大值。样例输入1990 1100 09090000078
2014-11-06 16:50:27
694
原创 用STL的写全排列
next_permutation (BidirectionalIterator first, BidirectionalIterator last):n个元素有n!种排列。这些排列中,规定升序序列为最小排列,降序序列为最大的排列,任意两个排列按照字典序分出大小。该函数返回当前序列作为一个排列按字典序的下一个排列。
2014-10-13 16:05:07
449
转载 会场安排问题 贪心算法
描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m每组测试数据的第一行是一个整数n(1随后的n行,每行有两个正整数Bi,Ei(0输出对于每一组
2014-10-04 16:19:07
617
原创 排队 约瑟夫环
描述周末了,软件ACM的队员准备玩玩游戏,娱乐一下,CY想了一个好主意,所有队员站成一个圈,从1开始报数,凡是报出指定数字的人要出列,有人出列后,下个人重新从1开始报数。最后一位“幸存者”要给大家表演个节目。由于队员正在不断的壮大,C小加又想知道他是否需要准备表演,请你设计个程序,帮他确定他是否是“幸存者”。输入第一行是n,有n次游戏,第二行是m,x,表示某次游戏有m个人,
2014-09-17 20:50:16
557
原创 C语言 快速排序
#include#includevoid quicksort(int a[],int left,int right){int i=left;int j=right;int temp=a[left];if(left>right)return;else{while(iwhile(a[j]>=temp&&ij--;a[i]=a[j];whi
2014-09-16 17:38:46
495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人