Qt实现TcpClient和TcpServer连接收发数据,TcpClent实现上位机给串口发送指令,没有什么问题了,可是让下位机做出相应的指令。
首先在TcpClient和TcpServer中的pro加入QT+=network。
界面设计:
接受指令设计:
tcpclient.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
#include
#include
class QTcpSocket;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QTcpSocket *tcpSocket;
QString currentForture;
quint16 blockSize;
private slots:
void newConnect();
void readMessage();
void displayError(QAbstractSocket::SocketError);
//void on_connectButton_clicked();
void on_connectpushButton_clicked();
};
#endif // MAINWINDOW_H
tcpclient.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
tcpSocket=new QTcpSocket();
connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(readMessage()));
connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(displayError(QAbstractSocket::SocketError)));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::newConnect()
{
//初始化数据大小信息为0
blockSize=0;
//取消已有的连接
tcpSocket->abort();
//tcpSocket->connectToHost(ui->hostlineEdit->text(),ui->portlineEdit_2->text().toInt());
tcpSocket->connectToHost(QHostAddress::LocalHost,4196);
}
void MainWindow::readMessage()
{
QByteArray block;
QDataStream in(tcpSocket);
//QDataStream out(&block,QIODevice::ReadWrite);
//设置数据流版本
in.setVersion(QDataStream::Qt_5_6);
//out.setVersion(QDataStream::Qt_5_6);
//如果是刚开始接受数据
if(blockSize==0)
{
if(tcpSocket->bytesAvailable()<(int)sizeof(quint16))
{
//将接收到的数据存放在变量中
in>>blockSize;
}
if(tcpSocket->bytesAvailable()>nextFortune;
if(nextFortune==currentForture)
{
QTimer::singleShot(0,this,&MainWindow::newConnect);
return;
}
currentForture=nextFortune;
//显示接收到的数据
qDebug()<messagelabel->setText(currentForture);
}
}
void MainWindow::displayError(QAbstractSocket::SocketError)
{
qDebug()<errorString();
}
//连接按钮
void MainWindow::on_connectpushButton_clicked()
{
newConnect();
}
发送指令设计:
server.h
#ifndef SERVER_H
#define SERVER_H
#include
#include
class QTcpServer;
namespace Ui {
class server;
}
class server : public QMainWindow
{
Q_OBJECT
public:
explicit server(QWidget *parent = 0);
~server();
private:
Ui::server *ui;
QTcpServer *tcpServer;
private slots:
void sendMessage();
};
#endif // SERVER_H
server.cpp
#include "server.h"
#include "ui_server.h"
#include
server::server(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::server)
{
//QHostAddress &address="10.20.15.101";
ui->setupUi(this);
tcpServer=new QTcpServer(this);
if(!tcpServer->listen(QHostAddress::LocalHost,4196))
{
qDebug()<<"错误"<errorString();
close();
}
connect(tcpServer,SIGNAL(newConnection()),this,SLOT(sendMessage()));
}
server::~server()
{
delete ui;
}
void server::sendMessage()
{
QByteArray block;
QDataStream out(&block,QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_5_6);
out<<(quint16)0;
out<seek(0);
out<<(quint16)(block.size()-sizeof(quint16));
//获取已经建立的连接的套接字
QTcpSocket *clientConnection=tcpServer->nextPendingConnection();
connect(clientConnection,SIGNAL(disconnected()),clientConnection,
SLOT(deleteLater()));
clientConnection->write(block);
clientConnection->disconnectFromHost();
//发送数据
ui->label->setText("send message successful!!!");
}
你可能感兴趣的:(Qt)
「C/C++」C++关键字 之 mutable 可变变量关键字
何曾参静谧
c语言 c++ java
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「定制」定制开发集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」BlockUI集合「Py」Python程序设计「Math」探秘数学世界「PK」Paras
构建复杂UI布局的策略与实践
QT性能优化QT原理源码QT界面美化
qt qt6.3 qt5 QT教程 c++
构建复杂UI布局的策略与实践补天云火鸟博客创作软件补天云网站1QT_Widgets与复杂UI布局概述1.1QT_Widgets基础及其在UI设计中的作用1.1.1QT_Widgets基础及其在UI设计中的作用QT_Widgets基础及其在UI设计中的作用构建复杂UI布局的策略与实践,QtWidgets基础及其在UI设计中的作用在软件开发领域,尤其是用户界面(UserInterface,UI)设计中
QT ListView 记录
weixin_30872157
数据库
http://www.cnblogs.com/chenxuelian/archive/2009/12/22/1629601.html转载于:https://www.cnblogs.com/whisht/archive/2012/06/12/3085088.html
QT正则表达式的使用
康闯
正则表达式 qt 开发语言
一、背景使用QT开发项目时,经常需要去对字符串进行操作,一般来说我们都会想到的是使用自己写的逻辑+QString的一些函数进行实现。其实qt给我们提供了一个更好的方式去实现,那就是QRegExp对象,使用正则表达式来操作字符串。只要我们会用,能用好,就能在软件开发中起到事半功倍的效果,而不是苦逼自己去实现一段段自己都觉得不靠谱的代码。对于正则表达式的使用做一下分类,主要分为以下类型(官网内容):用
Qt制作一个ListView列表
Qt开发老杰
qt 开发语言
一、概述案例:使用Qt制作一个ListView。点击ListView的Item可以用于测试OpenCV的各种效果自定义一个:MainListView继承QListWidget、MainListViewItem继承QListWidgetItem二、代码示例1.自定义QListWidgetmainlistview.hclassMainListView:publicQListWidget{Q_OBJEC
Qt:使用Model/View进行和数据和视图的分离
Rraion
Qt qt ui 开发语言
三种model/iewFileSystemModel文件系统模型顾名思义用于文件系统创建model指针使用指针接收创建好的对象将视图设置相应的模型#include"mainwindow.h"#include"ui_mainwindow.h"MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow)
QT —— "model/view" 使用帮助
Jecklin_online
QT c qt model view delegate
(一)Model/View结构Model-View-Controller(MVC),是从Smalltalk发展而来的一种设计模式,常用于创建用户界面。MVC包含3个组件:Model:应用对象,用来表示数据View:模型的用户界面,用来显示数据Controller:定义了用户界面对用户输入的反应方式Delegate(委托):为了对用户输入进行灵活处理被引入,用于定制数据的渲染和编辑方式其中,模型与数
基于深度学习的人脸表情识别系统:YOLOv8 + UI界面 + 数据集完整实现
2025年数学建模美赛
深度学习 YOLO ui 人工智能 代码
1.引言近年来,人脸表情识别在情感计算、智能人机交互、心理学研究等领域有着广泛的应用。深度学习的快速发展,使得高效、准确的人脸表情识别成为可能。通过利用卷积神经网络(CNN)和目标检测技术,可以实现实时、精准的人脸表情识别。本文将基于YOLOv8构建一个完整的人脸表情识别系统。系统集成了数据集准备、YOLOv8模型训练、实时推理以及基于PyQt5的图形用户界面(UI)。通过本文,你将学习如何实现一
【嵌入式——QT】QT多线程编程
炯哈哈
qt 开发语言 嵌入式 c++
这里介绍的是moveToThread的方式,继承QThread的方式可以参考我的另一篇文章【嵌入式——QT】QThread创建多线程编程实现首先创建一个类,但是这个类一定要继承QObjectSerialWorker.h#ifndefSERIALWORKER_H#defineSERIALWORKER_H#include#include#include#include#include#includec
VRRP+MSTP
会飞的大羊驼
网络协议 tcp/ip
VRRP+MSTP实验文章目录一、基础配置略二、运行VRRP协议1.配置子接口(以R1为例)思考一、基础配置略二、运行VRRP协议1.配置子接口(以R1为例)interfaceGigabitEthernet0/0/1.1#创建子接口dot1qterminationvid10#配置子接口dot1q封装的单层VLAN10ipaddress192.168.10.252255.255.255.0arpbr
Qt开发:QSqlDatabase的常见用法
TechNomad
Qt初阶教程 qt 数据库
文章目录一、概述二、使用流程三、常用函数的介绍四、使用QSqlDatabase创建数据表和插入数据五、使用QSqlDatabase使用查询数据表中的数据六、使用QSqlDatabase更新数据表中的数据七、使用QSqlDatabase删除数据表中的数据一、概述QSqlDatabase是Qt中用于管理和访问数据库连接的类。它提供了一种统一的方式来连接不同的数据库引擎,执行SQL查询和操作数据库。它支
vlan的配置
A968_
网络 学习 智能路由器 笔记
dot1q=802.1q标准[R1-GigabitEthernet0/0/0.1]dot1qterminationvid2定义该接口执行802.1q标准,且,存在于vlan2虚拟子接口默认关闭arp功能的,所以想要使用,必须手动打开[R1-GigabitEthernet0/0/0.1]arpbroadcastenable开启该子接口ARP协议的广播功能要求:SW2ippoolAAippoolBB检
第1章 走进Qt Quick的世界
Ricardo于
Qt QML qt 开发语言
★1.4QtQuick应用构建Widget和console项目是可以选构建工具的,有qmake选项。QtWidgetsApplication简介:创建一个基于widget的Qt应用程序,其中包含一个基于QtDesigner的主窗口以及用于实现应用程序逻辑的C++源文件和头文件,提供可视化的用户图形界面。(**本文选择**)QtConsoleApplication简介:创建一个包含单个main.cp
pyqt鸟瞰
飞行codes
python的荒野 pyqt
QApplication是Qt框架中的一个类,专门用于管理基于QWidget的图形用户界面(GUI)应用程序的控制流和主要设置。QApplication类继承自QGuiApplication,提供了许多与GUI相关的功能,如窗口系统集成、事件处理等。QApplication的主要功能和用途管理控制流和设置:QApplication负责管理应用程序的生命周期和事件循环,处理用户操作和其他系统事
Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
0xCC说逆向
qt c++ 开发语言 c语言 java microsoft windows
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录模态对话框非模态对话框文件对话框基本概念静态函数常见属性颜色对话框基本概念静态函数常见属性字体对话框基本概念静态函数常见属性输入对话框基本概念静态函数消息对话框基本概念静态函数模态对话框模态对话框是指在打开后,用户必须与该对话框交互并关闭它,才能返回到主窗口或其他窗口进行操作。在模态对话框打开期间,主窗口和其他窗口都不可用。模态对
Windows图形界面(GUI)-QT-C/C++ - QT 窗口属性
0xCC说逆向
qt c++ 开发语言 c语言 windows mfc
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录标题栏基本概念设置窗口标题隐藏标题栏UI编辑器窗口关闭事件窗口大小调整事件窗口移动事件自定义标题栏菜单栏基本概念设置菜单栏(API)设置菜单栏(UI)工具栏基本概念设置工具栏(API)设置工具栏(UI)状态栏基本概念设置状态栏(API)标题栏基本概念标题栏是窗口管理系统(如Windows、macOS、Linux等)的一部分,用于显
qt编写linux守护进程,QT开发(三十五)——QT进程间通信
周恰恰
qt编写linux守护进程
QT开发(三十五)——QT进程间通信Qt是一个跨平台的应用框架,其进程间通信机制当然可以使用所在平台的进程间通信机制,如在Windows平台上的Message机制、共享内存、文件映射、管道、Socket等。其中,Qt对一些许多平台共有的IPC机制进行了封装。一、TCP/IP其实就是通过网络模块实现的IPC。不过Qt对其进行了封装,并提供了两个层次的API,包括应用程序级的QNetworkAcces
(十)ROS的常用组件——rosbag和rqt工具箱
PaLu-LvL
ROS从入门到实践 机器人 ubuntu c++ 人工智能 学习
前言主要介绍以下ROS的一些工具的使用后续也要用到。一、rosbag机器人传感器获取到的信息,有时我们可能需要时时处理,有时可能只是采集数据,事后分析,比如:机器人导航实现中,可能需要绘制导航所需的全局地图,地图绘制实现,有两种方式,方式1:可以控制机器人运动,将机器人传感器感知到的数据实时处理,生成地图信息。方式2:同样是控制机器人运动,将机器人传感器感知到的数据留存,事后,再重新读取数据,生成
【QT】如何在遍历QTreeWidgetItem的子项过程中正确删除子项
yanzhyan
QT qt 开发语言
目录1、遍历QTreeWidgetItem子项的方法2、遍历过程中删除子项2.2正向遍历移除2.3反向遍历移除1、遍历QTreeWidgetItem子项的方法 遍历QTreeWidgetItem的子项,最直接的方法就是使用QTreeWidgetItem的以下两个函数://返回子项数。intQTreeWidgetItem::childCount()const;//返回指定索引的子项。子项的索引从0
QT在 MacOS X上,如何检测点击程序坞中的Dock图标
随风而动233
macos
最近在开发MacOS的qt应用,在做到最小化系统托盘功能时,发现关闭窗口后再次点击程序坞中的Dock图标不能将主界面再显示出来。查询里很多资料,发现是QT自身的问题,没有做相关的点击Dock图标的处理。于是我参考了国内和国外的这两篇文章国内:QT实现Dock应用程序点击---MacOSX_qt点击dock触发事件-CSDN博客国外:https://stackoverflow.com/questio
QT 通过QAxObject与本地应用程序读取Excel内容
梦里藍天
QT5 qt excel 开发语言
首先在配置中加入QT+=axcontainer在开发过程中,经常需要与Excel文件进行交互,例如读取数据、写入数据或进行格式设置。Qt提供了一个强大的类QAxObject,通过它可以方便地操作Excel文件。QAxObjectexcel("ket.Application");if(excel.isNull()){QMessageBox::critical(this,"错误","没有发现Excel
解决python3.10以上pyqt6-tools无法安装问题
北岭敲键盘的荒漠猫
# python开发 python
情景描述原本3.9版本python用的好好地,最新的一个自动化库要求必须要3.10以上才能使用。火急火燎更新3.12版本python,结果安装qt-tools丫的安装不了了。问题出现原因python的pyqt-tools他不支持3.10以上的python版本下载。如果想用pip下载得python3.10以下。这我丫的能忍?我刚升的版本!!解决思路我们一般把他当做外部工具来用。但是忽略了他本是就是个
Qt小例子学习53 - 使用resizeEvent调整窗口大小时调整Qlabel的图像大小
虾球xz
Qt小例子学习53-使用resizeEvent调整窗口大小时调整Qlabel的图像大小testsize.h#ifndefTESTSIZE_H#defineTESTSIZE_H#includeclassQLabel;classtestsize:publicQWidget{Q_OBJECTpublic:explicittestsize(QWidget*parent=0);~testsize();pri
pycharm python pyqt5
qq_24158561
python 开发语言
#-*-coding:utf-8-*-#Formimplementationgeneratedfromreadinguifile'UI1.ui'##Createdby:PyQt5UIcodegenerator5.13.0##WARNING!Allchangesmadeinthisfilewillbelost!#PyCharm,从Tools->ExternalTools->QtDesigner打开Q
PyQt5串口测试工具
Yuule
工具笔记 python pyqt
笔者经常会遇到使用上位机进行相关测试的场景,但现成的上位机并不能完全满足自己的需求,或是上位机缺乏使用说明。所以,自己写?环境说明pycharm2023.2.25python3.10anaconda环境配置condacreate-nenvsram##新建虚拟环境,不用anaconda也行自己使用python新建都行condaenvlist##查看虚拟环境及路径,方便修改python解释器路径con
esp8266/esp32连接emqx和node-red数据显示
Mr.su833
物联网 iot mcu 单片机 visual studio code
物联网设计从传感器到平台展示要经过联网模块进行数据通讯。esp8266和esp32可通过自编写程序进行联网和通信。#include#include#include#include#include//WIFI设置constchar*wifi_name="连接到的wifi名字";constchar*wifi_password="连接的WiFi密码";constchar*mqtt_address="";
Python实现系统桌面时钟
也是醉了醉了
用Python+PyQT写的一个系统桌面时钟,刚学习Python,写的比较简陋,但是基本的功能还可以。功能:①窗体在应用程序最上层,不用但是打开其他应用后看不到时间②左键双击全屏,可以做小屏保使用,再次双击退出全屏。③系统托盘图标,主要参考PyQt4源码目录中的PyQt4\examples\desktop\systray下的程序④鼠标右键,将程序最小化使用时需要heart.svg放在源代码同级目录
Linux下QT开发的动态库界面弹出操作(SDL2)
13jjyao
QT类 qt 开发语言 sdl2 linux
需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口
python os.environ_python os.environ 读取和设置环境变量
weixin_39605414
python os.environ
>>>importos>>>os.environ.keys()['LC_NUMERIC','GOPATH','GOROOT','GOBIN','LESSOPEN','SSH_CLIENT','LOGNAME','USER','HOME','LC_PAPER','PATH','DISPLAY','LANG','TERM','SHELL','J2REDIR','LC_MONETARY','QT_QPA
esp32开发快速入门 8 : MQTT 的快速入门,基于esp32实现MQTT通信
z755924843
ESP32开发快速入门 服务器 网络 运维
MQTT介绍简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联
Java实现的简单双向Map,支持重复Value
superlxw1234
java 双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
PL/SQL触发器基础及例子
百合不是茶
oracle数据库 触发器 PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
[时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
easy ui datagrid上移下移一行
商人shang
js 上移下移 easyui datagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
springMVC 使用JSR-303 Validation验证
杨白白
spring mvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
使用ajax和history.pushState无刷新改变页面URL
agevs
jquery 框架 Ajax html5 chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
centos中文乱码
AILIKES
centos OS ssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
JS正则表达式的i m g
bijian1013
JavaScript 正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
HTML5模式和Hashbang模式
bijian1013
JavaScript AngularJS Hashbang模式 HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
[Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
巧用视错觉-UI更有趣
brotherlamp
UI ui视频 ui教程 ui自学 ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构 算法 线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
HTTP协议详解
chicony
http协议
引言
Scala设计模式
chenchao051
设计模式 scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
安装mysql
daizj
mysql 安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
C语言中,关键字static的作用
e200702084
C++ c C#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转 递归反转 二分交换反转 java字符串反转 栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
代码实现任意容量倒水问题
home198979
PHP 算法 倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
两种启动监听器ApplicationListener和ServletContextListener
spjich
java spring 框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
JavaScript Rounding Methods of the Math object
何不笑
JavaScript Math
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen