目录
三 窗口部件
1.QWidget
1.1 窗口与子部件
2.QDialog
2.1 模态和非模态对话框
2.2 初始信号和槽并实现多窗口切换
1) 定义信号和槽
2) 自动定义对话框
3) 标准对话框
a.颜色对话框
b.文件对话框
c.字体对话框
d.输入对话框
e.消息对话框
f.进度对话框
g.错误消息对话框
h.向导对话框
*完整代码
三 窗口部件
widget:用户界面最基本的组成部分,它接收来自于windows系统的鼠标、键盘以及其他事件,然后将它自己绘制在屏幕上。
1.顶级widget:没有父类的独立窗口。
2.子widget:作为子部件在父类中显示。
3.复合型Widget:把一个widget作为一个容器来存放一组子widget。
1.1 窗口与子部件
main.cpp
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 新建QWidget类对象,默认parent参数是nullptr,所以它是个窗口
QWidget *widget = new QWidget();
// 设置窗口标题
widget->setWindowTitle(QObject::tr("我是widget"));
// 新建QLabel对象,默认parent参数是nullptr,所以它是个窗口
QLabel *label = new QLabel();
label->setWindowTitle(QObject::tr("我是label"));
// 设置要显示的信息
label->setText(QObject::tr("label:我是个窗口"));
// 改变部件大小,以便能显示出完整的内容
label->resize(220, 20);
// label2指定了父窗口为widget,所以不是窗口,只是widget窗口的子部件
QLabel *label2 = new QLabel(widget);
label2->setText(QObject::tr("label2:我不是独立窗口,只是widget的子部件"));
label2->resize(250, 20);
// 在屏幕上显示出来
label->show();
widget->show();
int ret = a.exec();
delete label;
delete widget;
return ret;
}
.pro
QT+=widgets
SOURCES += \
main.cpp
2.QDialog
2.1 模态和非模态对话框
模块对话框:
在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。
//非模态对话框:
//对话框弹出来,但mywidget窗口并没有出来
#include"ui_widget.h"
#include
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//QDialog *dialog=new QDialog(this);
//dialog->show();
//或者
QDialog dialog(this); //定义QDialog对象
dialog.exec();
}
Widget::~Widget()
{
delete ui;
}
非模块对话框:
对于非模态对话框,当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。
2.2 初始信号和槽并实现多窗口切换
1) 定义信号和槽
信号和槽都是函数,用于完成对象间的协同操作。
步骤
1.在widget.h
的MyWidget
类定义中添加槽的声明。
public slots: //槽一般用关键词slots修饰
void showChildDialog(); 2.在widget.cpp
中定义槽函数的功能。
void MyWidget::showChildDialog()
{
QDialog *dialog=new QDialog(this);
dialog->show();
} 3.在MyWidget
类构造函数中,加入connect()
函数将单击信号与槽关联。
即受到指定信号后执行槽函数。
MyWidget::MyWidget(QWidget*parent):
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
connect(ui->showChildButton,&QPushButton::clicked,
this,&MyWidget::showChildDialog);
}
2) 自动定义对话框
#include "dialog.h"
#include "./ui_dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
//accept是QDialog中的一个槽
//功能:1.执行这个槽后隐藏这个模式对话框;2.返回QDialog::Accepted值
accept();
}
void Dialog::on_pushButton_2_clicked()
{
//reject与accept对应
//返回一个QDialog::Rejected值
reject();
}
#ifndef DIALOG_H
#define DIALOG_H
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private slots:
void on_pushButton_2_clicked();
void on_pushButton_clicked();
private:
Ui::Dialog *ui;
};
#endif // DIALOG_H
#include "dialog.h"
#include"QWidget"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog dialog; //新建类对象
if(dialog.exec()==QDialog::Accepted) //判断dialog执行结果
{
QWidget w;
w.show(); //如果按下进入主界面按钮,则进入主界面
return a.exec(); //程序正常运行
}
else
{
return 0; //退出程序
}
}
3) 标准对话框
a.颜色对话框
//颜色对话框
void Widget::on_pushButton_clicked()
{
QColor color=QColorDialog::getColor(Qt::red,this,tr("颜色对话框"));
qDebug()<<"color:"<
b.文件对话框
//文件对话框
void Widget::on_pushButton_2_clicked()
{
// //读取单个文件
// QString filename=QFileDialog::getOpenFileName(this,tr("文件对话框"),
// "D:\photo",tr("图片文件(*.jpg *.png)"));
// qDebug()<<"fileName:"<
c.字体对话框
//字体对话框
void Widget::on_pushButton_3_clicked()
{
bool ok;//是否按下ok
QFont font=QFontDialog::getFont(&ok,this);
//如果按下ok,字体对话框按钮使用新字体
//如果按下cancel,则输出信息
if(ok)
{
ui->pushButton_3->setFont(font);
}
else
{
qDebug()<
d.输入对话框
//输入对话框
void Widget::on_pushButton_4_clicked()
{
bool ok;
//获取字符串
QString string=QInputDialog::getText(this,tr("输入字符串对话框"),
tr("请输入用户名:"),QLineEdit::Normal,tr("admin"),&ok);
if(ok)
{
qDebug()<<"string:"<
e.消息对话框
//消息对话框
void Widget::on_pushButton_5_clicked()
{
//问题对话框
int ret1=QMessageBox::question(this,tr("问题对话框"),
tr("你了解Qt吗?"),QMessageBox::Yes,QMessageBox::No);
if(ret1==QMessageBox::Yes)
{
qDebug()<
f.进度对话框
//进度对话框
void Widget::on_pushButton_6_clicked()
{
QProgressDialog dialog(tr("文件复制进度"),tr("取消"),0,50000,this);
dialog.setWindowTitle(tr("进度对话框"));
dialog.setWindowModality(Qt::WindowModal);//将对话框设置为模态
dialog.show();
//演示复制进度
for(int i=0;i<999999999;i++)
{
dialog.setValue(i);//设置进度条的当前值
QCoreApplication::processEvents();//避免页面冻结
if(dialog.wasCanceled())
{
break;
}
dialog.setValue(999999999);
qDebug()<
g.错误消息对话框
//错误消息对话框
void Widget::on_pushButton_7_clicked()
{
errordlg->setWindowTitle(tr("错误信息对话框"));
errordlg->showMessage(tr("这里是出错信息!"));
}
h.向导对话框
//3个向导页面
QWizardPage *Widget::createPage1()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("介绍"));
return page;
}
QWizardPage *Widget::createPage2()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("用户信息选择"));
return page;
}
QWizardPage *Widget::createPage3()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("结束"));
return page;
}
//向导对话框
void Widget::on_pushButton_8_clicked()
{
QWizard wizard(this);
wizard.setWindowTitle(tr("向导对话框"));
wizard.addPage(createPage1());//添加向导页面
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.exec();
}
*完整代码
#include "widget.h"
#include "ui_widget.h"
#include "QDebug"
#include "QColorDialog"
#include "QFileDialog"
#include "QFontDialog"
#include "QLineEdit"
#include "QInputDialog"
#include "QMessageBox"
#include "QProgressDialog"
#include "QErrorMessage"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
errordlg=new QErrorMessage(this);
}
Widget::~Widget()
{
delete ui;
}
//颜色对话框
void Widget::on_pushButton_clicked()
{
QColor color=QColorDialog::getColor(Qt::red,this,tr("颜色对话框"));
qDebug()<<"color:"<pushButton_3->setFont(font);
}
else
{
qDebug()<setWindowTitle(tr("错误信息对话框"));
errordlg->showMessage(tr("这里是出错信息!"));
}
//3个向导页面
QWizardPage *Widget::createPage1()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("介绍"));
return page;
}
QWizardPage *Widget::createPage2()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("用户信息选择"));
return page;
}
QWizardPage *Widget::createPage3()
{
QWizardPage *page=new QWizardPage;
page->setTitle(tr("结束"));
return page;
}
//向导对话框
void Widget::on_pushButton_8_clicked()
{
QWizard wizard(this);
wizard.setWindowTitle(tr("向导对话框"));
wizard.addPage(createPage1());//添加向导页面
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.exec();
}
#ifndef WIDGET_H
#define WIDGET_H
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Widget;class QErrorMessage; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
void on_pushButton_4_clicked();
void on_pushButton_5_clicked();
void on_pushButton_6_clicked();
void on_pushButton_7_clicked();
void on_pushButton_8_clicked();
private:
Ui::Widget *ui;
QErrorMessage *errordlg;//错误消息对话框
//向导对话框
QWizardPage *createPage1();
QWizardPage *createPage2();
QWizardPage *createPage3();
};
#endif // WIDGET_H
你可能感兴趣的:(Qt,qt,开发语言)
Qt 图形视图框架4-动画、碰撞检测和图形项组
Zy100Papa
Qt c++开发实战 qt 开发语言
1.动画1.1.使用QObject包装器1.2.属性动画(QPropertyAnimation)1.3.定时器动画(QTimer)1.4.场景推进动画(QGraphicsScene::advance)2.碰撞检测1.动画在Qt图形视图框架中,实现动画效果有多种常用方法,下面介绍几种主要方式:以下是在Qt5.15.5(MinGW环境)中实现图形视图框架动画的常用方法,代码已亲测可正常运行:1.1.使
rk3566开发之rknn npu 部署
三十度角阳光的问候
rknn npu rk3566 目标检测
目录NPU使用RKNN模型非RKNN模型RKNN-Toolkit2工具RKNNNPU测试代码如下main.ccssd.cc调用ssd模型进行目标检测测试ssd.hqt中调用rknnnpu接口NPU使用RK3566内置NPU模块。使用该NPU需要下载RKNNSDK,RKNNSDK为带有NPU的RK3566/RK3568芯片平台提供编程接口,能够帮助用户部署使用RKNN-Toolkit2导出的RKNN
Qt导入ui文件的方法
百口可乐__
Qt- qt ui 开发语言
1.首先对项目Test_0右键点击,添加现有文件。选择要添加的新的Design_5.ui文件。导入新的ui文件。2.打开Test_0.pro文件,会有以下形式的代码,确保其中有导入的ui文件Design_5.ui。FORMS+=a.ui\b.ui\...Design_5.ui确保Test_0.pro文件中有以下代码,用于生成"ui_xxx.h"文件。QT+=widgets3.点击构建,执行qmak
52. QT插件开发--插件程序(带ui文件)的创建与编译
山间点烟雨
QML / QT常用技巧汇总 qt ui 插件
1.说明一般情况下,针对代码量比较小的QT程序不需要进行插件集成化开发,但是针对大型程序来说,代码结构比较复杂,使用插件开发的方式可以提高代码开发和维护效率,团队之间的分工合作也会更加的明确。所谓插件式开发,实际上就是把程序的一部分功能封装起来,编译成一个单独的动态链接库,在主程序框架中去动态加载这个动态库即可。在windows系统中这种动态库以dll的形式存在,而在linux系统中是以so形式存
JAVA使用搭建EMQX消息队列
xiaomadingd
java spring spring boot
JAVA连接EMQX简介1.依赖导入2.写入配置文件和配置类3.连接broker核心类和消息发布回调类4.HTTP调用测试发布消息简介本文主要介绍怎么用java客户端paho连接emqx并实现共享订阅,所谓共享订阅就是在开多个节点的客户端消费时,保证一条消息有且仅有一个节点消费,不会造成重复消费。1.依赖导入org.eclipse.pahoorg.eclipse.paho.client.mqttv
EMQX 入门教程⑪——通过 ExHook 使用 gRPC 服务接收 EMQX 回调事件(已连接/已断开/已订阅/已发布...)
小康师兄
EMQX 入门教程 EMQX gRPC ExHook 钩子 java
文章目录一、前文二、钩子函数介绍三、EMQX4.x的hook实现方法四、EMQX5.x的hook实现方法五、下载emqx-extension-examples六、修改Demo代码七、编译Demo代码八、运行Demo程序九、ExHook设置和启用十、更多日志十一、文档参考一、前文EMQX入门教程——导读二、钩子函数介绍exhook钩子函数可以理解成可挂载函数的点(HookPoint)。因为MQTT运
【MobileNet v3 可视化界面】在电脑上实现可视化界面
【MobileNetv3可视化界面】在电脑上实现可视化界面一、PyQt5库安装PyQt5库的安装,可以查看这篇文章:完全弄懂如何用pycharm安装pyqt5及其相关配置二、界面设置三、功能链接GPUorCPU选择defGPU_CPU(self):"""选择GPUorCPU:return:"""selected_button=self.widget.sender()ifselected_butto
C语言实现DNS客户端 | 详解dns_create_question函数的设计与实现
(Charon)
服务器 网络 linux
在实现一个简易的DNS查询客户端时,构造DNS报文是最关键的一步。DNS报文大致由两个部分组成:Header(报文头)Question(问题)本文聚焦于dns_create_question函数,即如何将用户输入的域名(如"www.example.com")编码为符合DNS协议格式的查询字段,并构造相关的qtype与qclass信息。一、DNSQuestion结构体定义回顾structdns_qu
RustFS:基于Rust的对象存储系统技术解析
光爷不秃
对象存储 rust 国产开源软件 云计算 rust 数据库 开源软件
在数据存储技术快速发展的当下,各类对象存储解决方案不断涌现。本文将从技术特性、功能设计等角度,对基于Rust语言开发的开源对象存储系统RustFS进行客观解析,为关注存储技术的读者提供参考。项目基本信息RustFS是一个开源对象存储系统,其核心目标是构建高性能、高可靠的数据存储架构。该项目选择Rust作为开发语言,主要利用了这门语言在内存安全和运行效率上的特性,同时通过兼容S3API的设计,降低了
AWS规则引擎
Jasper张
AWS WebRTC aws 云计算 webrtc 服务器
AWS的规则引擎,通常指的是AWSIoTCore规则引擎(AWSIoTRulesEngine),它是AWSIoT服务中的一个核心组件。用途:从IoT设备接收数据并触发相应动作AWSIoTRulesEngine可以实时处理来自设备发送到AWSIoT的MQTT消息或HTTP消息,并根据你定义的规则,把数据:存储到AWS服务(如S3、DynamoDB、Timestream)发送到其他服务(如Lambda
深入探讨Qt智能指针的用法
码农飞飞
QT+QML qt 智能指针 指针转换 内存泄漏 内存管理 QSharedPointer QPointer
文章目录QPointerQSharedPointerQWeakPointerQScopedPointerQScopedArrayPointer类型转换qSharedPointerCastqSharedPointerDynamicCastqSharedPointerConstCastqWeakPointerCastqSharedPointerObjectCastQt的智能指针提供了方便的资源管理工具
cmake qt 添加路径 项目_CMake配置Qt工程
#指定cmake的最小版本号CMAKE_MINIMUM_REQUIRED(VERSION3.16)#指定项目名称PROJECT(ArithmeticLANGUAGESCXX)#指定Qt路径和启用当前目录(按需设置)SET(CMAKE_PREFIX_PATH${QT_PATH}/lib/cmake)SET(CMAKE_INCLUDE_CURRENT_DIRON)#引入Qt库FIND_PACKAGE(
Qt构建静态库后,丢失背景图片
haiyuanjie
Qt开发总结 开发语言 c++ qt
问题现象:静态库项目UI属性设置qrc资源图片,显示成功,同一项目调用测试显示成功。主程序调用静态库,无法显示背景图片。原因及解决:UsingResourcesinaLibraryIfyouhaveresourcesinalibrary,youneedtoforceinitializationofyourresourcesbycallingQ_INIT_RESOURCE()withthebasen
linux系统下使用Qt静态库(Qt5.15.16)
꧁白杨树下꧂
qt
前言笔者经过测试,自己编译出的Qt静态库是可以正常工作的,但有部分小伙伴反馈,他们编译出的Qt静态库无法正常使用,经过笔者了解后,决定为大家解疑部分问题一、使用QMake构建项目对于Qt5,官方对qmake的支持还是不错的,所以只要在QtCreator正常配置kit套件,无论是widget程序还是qml程序,都可以正常运行。读者可以以此判断,编译的静态库是否符合自己需要。若是widget程序也无法
关于Qt商业化使用是否需要花钱的通俗解释
溪渣渣_梁世华
Qt C++从入门到跳窗 qt
Qt商业化使用序言吐槽结论免费商业化方式商业化方式参考资料序言吐槽我是真没想到,Qt发布这么久了,竟然很多相关工作人员对于这个Qt的商业化方式还懵懵懂懂,这也就算了,连用Qt的程序员自己都不是很清楚!?所以我想专门写一篇文章来解释下,直接说结论,查出处可以看参考资料。结论免费商业化方式Qt如果使用含LGPL协议的模块,不修改源码而是用Qt提供的动态库链接模块,并且这些动态库能够被用户访问到的话,做
零基础 Qt 6 在线安装教程
程序员乐逍遥
Qt框架 MFC框架高级编程 qt 开发语言 qt6 C++ 安装
1.首先给你们Qt5.14.2的安装地址,有需要的可以安装Indexof/archive/qt/5.14/5.14.22.首先下载Qt6的在线安装包https://d13lb3tujbc8s0.cloudfront.net/onlineinstallers/qt-online-installer-windows-x64-4.10.0.exe3.安装运行程序
WiFi通信——STM32通过ESP8266-01S上传DHT11温湿度和LED灯状态到阿里云物联网平台上(二)MQTT协议代码讲解
文科比理科更擅长的工科男
STM32单片机实战项目讲解 stm32 阿里云 物联网
上一篇博客讲了ESP8266-01S的MQTT固件包烧录过程,配置了阿里云物联网平台,并且利用MQTT.fx验证和阿里云通信的过程,链接如下:https://blog.csdn.net/weixin_41011452/article/details/1406451301MQTT协议MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议)是IBM在1999年
Qt 的并发机制详解
大王算法
Qt入门及实战宝典 Qt
QProcess和QThread提供了两种并发方式。QProcess是一个能够非常方便的用于启动和控制其它进程的类。它派生自QObject,可充分利用信号和槽与其它对象交互。一个QProcess可以使用start()函数来启动一个进程。新进程将会成为一个子进程并随着父进程的终止而终止。QThread为我们QT项目的异步和同步并发提供了强大工具。
QT的Qthread机制
Helloorld_11
qt 开发语言 c++
目录QT的Qthread的一些机制和用法最后,简单的总结一哈,QThread的用途!QT的Qthread的一些机制和用法QT提供QThread类以进行多任务处理。与多任务处理一样,Qt提供的线程可以做到单个线程做不到的事情。例如,网络应用程序中,可以使用线程处理多种连接器。QThread继承自QObject类,且提供QMutex类以实现同步。线程和进程共享全局变量,可以使用互斥体对改变后的全局变量
QT并发机制
byxdaz
QT qt
QT提供了多种并发编程机制,使得开发者能够充分利用多核处理器优势,同时保持代码的可维护性和跨平台特性。以下是QT主要的并发机制:1.QThread-线程基础类QThread是QT中最基础的线程类,提供了创建和管理线程的能力。classWorkerThread:publicQThread{voidrun()override{//在这里执行耗时操作qDebug()start();//启动线程2.基于Q
MQTT 是什么?一文读懂 MQTT 协议的原理与优势
头发那是一根不剩了
网络 物联网
1,MQTT是什么MQTT(MessageQueuingTelemetryTransport)是一种发布/订阅消息协议,最早由IBM提出,用于低功耗、低带宽场景下的数据传输,尤其适用于物联网(IoT)设备通信。全称:MessageQueuingTelemetryTransport角色:定义“设备如何发送/接收消息”的规则(通信协议)关键机制:发布/订阅模型(Publish/Subscribe)它不
ubuntu安装搜狗输入法后闪烁
wuzuyu365
ubuntu
在/etc/profile里面添加一行exportQT_QPA_PLATFORM=xcb就好了,重启正常使用。
一文读懂Python+Pytest+Allure+Jenkins+Gitee自动化测试框架,手把手教你搭建
Python+Pytest+Allure+Jenkins+Gitee自动化测试框架一、框架整体架构1.技术栈分工Python:测试脚本开发语言Pytest:测试用例管理和执行引擎Allure:测试报告生成与展示Jenkins:持续集成和任务调度Gitee:代码版本管理和触发机制2.数据流向Gitee代码提交→Jenkins触发构建→Pytest执行用例→生成Allure结果→Jenkins收集报告
AWS MES集成:PLM到车间秒级同步方案
百态老人
aws postman 云计算
以下是针对"AWSMES集成框架:通过Lambda转换PLMBOM→DynamoDB→MQTT至车间"的完整技术方案,结合AWS服务特性和制造业需求设计:一、架构设计目标数据流闭环:实现PLM系统到车间设备的自动化数据管道实时性:BOM变更秒级同步至车间可靠性:MQTTQoS1保障消息必达无服务器化:降低运维成本,按需伸缩二、技术组件详解1.PLMBOM数据解析数据结构特征:多视图结构(EBOM/
分库分表之实战-sharding-JDBC水平分库+水平分表配置实战
软件编程在线接单(需要可私)
分库分表 后端 java 数据库 mysql 分布式
大家好,我是工藤学编程一个正在努力学习的小博主,期待你的关注实战代码系列最新文章C++实现图书管理系统(QtC++GUI界面版)SpringBoot实战系列【SpringBoot实战系列】Sharding-Jdbc实现分库分表到分布式ID生成器Snowflake自定义wrokId实战环境搭建大集合环境搭建大集合(持续更新)分库分表分库分表之实战-sharding-JDBC广播表前情摘要:1、数据库
Unix/Linux系统上用于构建图形用户界面的核心协议和架构标准
行之文
unix linux
目录前言一、X11/Wayland是什么?X11(XWindowSystem)Wayland关键差异总结:二、如何使用?1.查看当前使用的协议2.切换X11/Wayland(Ubuntu示例)3.开发适配(Qt等)三、3个常见用例四、总结建议前言本文介绍下Unix/Linux系统上用于构建图形用户界面的核心协议和架构标准X11和Wayland一、X11/Wayland是什么?
Python在人工智能领域的实际应用:示例代码解析
辣条yyds
python python 人工智能 开发语言
摘要:本文将通过几个典型的人工智能应用场景,展示Python在图像识别、自然语言处理、推荐系统等方面的高级用法。通过示例代码,带大家深入理解Python在人工智能领域的实际应用。正文:Python作为一门流行的编程语言,凭借其简洁的语法、丰富的库和框架,成为了人工智能(AI)领域的主流开发语言。下面,我们将通过几个示例,探讨Python在人工智能方向的实际应用。示例一:图像识别-使用OpenCV进
OBS 二次开发插件录屏
bug和崩溃我都要
qt OBS 视频录制
基于OBS二次开发的录屏工具,使用OBS的SDK和Qt开发的工具。QT5.15.2MSVC64编译。添加视频源intobsRecord::AddSource(eCaptureTypemodel){//清除之前的SourceclearScene();//音频源处理obs_set_output_source(kChannelTransitions,NULL);obs_set_output_source
Github 2024-05-07 开源项目日报 Tp10
老孙正经胡说
github 开源 Github趋势分析 开源项目 Python Golang
根据GithubTrendings的统计,今日(2024-05-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量TypeScript项目4JupyterNotebook项目2Python项目1Batchfile项目1非开发语言项目1Java项目1HTML项目1C#项目1从零开始构建你喜爱的技术创建周期:2156天Star数量:253338个Fork数量:240
Github 2024-07-07 开源项目日报 Top10
老孙正经胡说
github 开源 Github趋势分析 开源项目 Python Golang
根据GithubTrendings的统计,今日(2024-07-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Python项目4Rust项目2C项目2C++项目1JavaScript项目1HTML项目1JupyterNotebook项目1非开发语言项目1免费编程书籍和学习资源清单创建周期:3762天协议类型:CreativeCommonsAttributio
多线程编程之卫生间
周凡杨
java 并发 卫生间 线程 厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
How to Install GUI to Centos Minimal
sunjing
linux Install Desktop GUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
Shell 函数
daizj
shell 函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表 双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
threadLocal实例
bijian1013
java thread java多线程 threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
activemq安全设置—设置admin的用户名和密码
bijian1013
java activemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
返回null还是empty
bylijinnan
java apache spring 编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
[科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
mac中用命令行运行mysql
dcj3sjt126com
mysql linux mac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
MongDB查询(1)——基本查询[五]
eksliang
mongodb mongodb 查询 mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
base64,加密解密 经融加密,对接
y806839048
经融加密 对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
java经典的基础题目
macroli
java 编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点 学习永无止境 纵观千象 regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hive hive分析表 hive统计信息 hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源