%在控件本身函数中用hObject调用

%在别的函数中,需要使用handles调用

function varargout = TestGUI(varargin)

% TESTGUI MATLAB code for TestGUI.fig

%      TESTGUI, by itself, creates a new TESTGUI or raises the existing

%      singleton*.

%

%      H = TESTGUI returns the handle to a new TESTGUI or the handle to

%      the existing singleton*.

%

%      TESTGUI('CALLBACK',hObject,eventData,handles,...) calls the local

%      function named CALLBACK in TESTGUI.M with the given input arguments.

%

%      TESTGUI('Property','Value',...) creates a new TESTGUI or raises the

%      existing singleton*.  Starting from the left, property value pairs are

%      applied to the GUI before TestGUI_OpeningFcn gets called.  An

%      unrecognized property name or invalid value makes property application

%      stop.  All inputs are passed to TestGUI_OpeningFcn via varargin.

%

%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one

%      instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help TestGUI

% Last Modified by GUIDE v2.5 06-Oct-2015 17:26:26

% Begin initialization code - DO NOT EDIT

global isRight;

isRight = 0;

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

'gui_Singleton',  gui_Singleton, ...

'gui_OpeningFcn', @TestGUI_OpeningFcn, ...

'gui_OutputFcn',  @TestGUI_OutputFcn, ...

'gui_LayoutFcn',  [] , ...

'gui_Callback',   []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

%这里练习使用helpdlg

if isRight

helpdlg('第一步导入图像/视频;第二步选择功能;第三步点击‘Start’开始处理图像/视频(多幅图像/视频多次点击);第四步点击‘Exit’退出界面');

end

% --- Executes just before TestGUI is made visible.

function TestGUI_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% varargin   command line arguments to TestGUI (see VARARGIN)

% 定义全局变量

global isVideo;

isVideo = 0;

global isImage;

isImage = 0;

global Count;

Count = 0;

global isRight;

% Choose default command line output for TestGUI

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes TestGUI wait for user response (see UIRESUME)

% uiwait(handles.figure1);

%简单的密码验证,这里主要是练习使用inputdlg

prompt = {'Name = hen','Code = 1989'};

title = '请输入用户名和密码';

lines = [2,1]';

AvailNameCode = {'hen','1989'};

% FalseNameCode = {'***','***'};

FalseNameCode = AvailNameCode;

answer = inputdlg(prompt,title,lines,FalseNameCode);

if  length(answer) == 2 && strcmp(answer{1},AvailNameCode{1}) && strcmp(answer{2},AvailNameCode{2})

msgbox('正确,点击 确定 以继续');    %练习使用msgbox

isRight = 1;

else

errordlg('用户名或密码错误');

%     close(gcf); %但是会导致崩溃

end

% --- Outputs from this function are returned to the command line.

function varargout = TestGUI_OutputFcn(hObject, eventdata, handles)

% varargout  cell array for returning output args (see VARARGOUT);

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

global isRight;

varargout{1} = handles.output;

if ~isRight

close(gcf); %放到这里就不会导致程序崩溃了

end

% --------------------------------------------------------------------

function ImageIO_Callback(hObject, eventdata, handles)

% hObject    handle to ImageIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% --------------------------------------------------------------------

function VideoIO_Callback(hObject, eventdata, handles)

% hObject    handle to VideoIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% --------------------------------------------------------------------

function ReadVideoIO_Callback(hObject, eventdata, handles)

% hObject    handle to ReadVideoIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%读入视频,前三个是第一次申明,第四个是引用

global InputVideo;

global ResultVideo;

global VideoFullPath;

global isVideo;

[ReadVideoFileName,ReadVideoPathName,ReadVideoFilterIndex] = uigetfile({'*.avi;*.mp4','VideoFile(*.avi,*.mp4)';'*.avi','AVIVideoFile(*.avi)';'*.*','AllFile(*.*)'},'ReadVideo',...

'MultiSelect','on',...       %是否能够多选,'off'不支持多选, 'on'支持多选

'C:\Users\hsw\Desktop'); %设置默认路径

if isequal(ReadVideoFileName,0) || isequal(ReadVideoPathName,0) || isequal(ReadVideoFilterIndex,0)

msgbox('导入视频失败,点击 确定 关闭对话框,再重新导入');

else

%支持多选时需要处理

isVideo = 1;

if iscell(ReadVideoFileName)

%读入多个视频时

InputVideo = cell(length(ReadVideoFileName),1);

VideoFullPath = InputVideo;

for IterVideo = 1:length(ReadVideoFileName)

VideoFullPath{IterVideo} = fullfile(ReadVideoPathName,ReadVideoFileName{IterVideo}); %先保存所有视频或图像路径

end

VideoObject = VideoReader(VideoFullPath{1});

else

%只读入一个视频时

VideoFullPath = fullfile(ReadVideoPathName,ReadVideoFileName);

VideoObject = VideoReader(VideoFullPath);

end

%     显示第一个视频的第一帧,直到按下Start按钮时,开始显示别的

frame = read(VideoObject,1);

axes(handles.OriginalAxes);

imshow(frame);

axes(handles.ResultAxes);

imshow(255*ones(size(frame)));

ResultVideo = InputVideo;

msgbox('成功导入视频,点击 确定 关掉对话框');

end

% --------------------------------------------------------------------

function SaveVideoIO_Callback(hObject, eventdata, handles)

% hObject    handle to SaveVideoIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%保存视频

[SaveVideoFileName,SaveVideoPathName,SaveVideoFilterIndex] = uiputfile({'*.avi;*.mp4','VideoFile(*.avi,*.mp4)';...

'*.avi','AVIVideoFile(*.avi)';'*.*','AllFile(*.*)'},'ReadVideo',...

'C:\Users\hsw\Desktop'); %设置默认路径

if isequal(SaveVideoFileName,0) || isequal(SaveVideoPathName,0) || isequal(SaveVideoFilterIndex,0)

disp('User seleceted Cancel');

else

%这里保存所有读入的视频的处理结果

end

% --------------------------------------------------------------------

function ReadImageIO_Callback(hObject, eventdata, handles)

% hObject    handle to ReadImageIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%读入图像,前三个是第一次申明,第四个是引用

global InputImage;

global ResultImage;

global ImageFullPath;

global isImage;

[ReadImageFileName,ReadImagePathName,ReadImageFilterIndex] = uigetfile({'*.jpg;*.png;*.tif','ImageFile(*.jpg;*.png;*.tif)';...

'*.jpg','JPEGImageFile(*.jpg)';'*.*','AllFile(*.*)'},'ReadImage',...

'MultiSelect','on',...       %是否能够多选,'off'不支持多选, 'on'支持多选

'C:\Users\hsw\Desktop'); %设置默认路径

if isequal(ReadImageFileName,0)|| isequal(ReadImagePathName,0) || isequal(ReadImageFilterIndex,0)

msgbox('导入图像失败,点击 确定 关闭对话框,再重新导入');

else

% 支持多选时,注意需要分别处理

isImage = 1;

if iscell(ReadImageFileName)

%读入多个图像时,名称为cell数组,多个图像必须在同一个目录

InputImage = cell(length(ReadImageFileName),1);

ImageFullPath = InputImage;

for IterImage = 1:length(ReadImageFileName)

ImageFullPath{IterImage} = fullfile(ReadImagePathName,ReadImageFileName{IterImage});

end

FirstImageFullPath = ImageFullPath{1};

else

%只读入一个视频时

FirstImageFullPath = fullfile(ReadImagePathName,ReadImageFileName);

ImageFullPath = FirstImageFullPath;

end

%显示第一张图片

axes(handles.OriginalAxes);

imshow(imread(FirstImageFullPath));

axes(handles.ResultAxes);

imshow(255*ones(size(imread(FirstImageFullPath))));

ResultImage = InputImage;

msgbox('成功导入图像,点击 确定 关掉对话框');

end

% --------------------------------------------------------------------

function SaveImageIO_Callback(hObject, eventdata, handles)

% hObject    handle to SaveImageIO (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%保存图像:保存当前结果

[SaveImageFileName,SaveImagePathName,SaveImageFilterIndex] = uiputfile({'*.jpg;*.png;*.tif','ImageFile(*.jpg;*.png;*.tif)';...

'*.jpg','JPEGImageFile(*.jpg)';'*.*','AllFile(*.*)'},'SaveImage','C:\Users\heshiwen\Desktop');

if isequal(SaveImageFileName,0) || isequal(SaveImagePathName,0) || isequal(SaveImageFilterIndex,0)

disp('User selected Cancel');

else

%保存处理的结果

end

% --- Executes on button press in StartPushButton.

function StartPushButton_Callback(hObject, eventdata, handles)

% hObject    handle to StartPushButton (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%开始执行功能

%需要再次申明全局变量

global InputVideo;

global ResultVideo;

global VideoFullPath;

global isVideo;

global InputImage;

global ResultImage;

global ImageFullPath;

global isImage;

global Count;

% handles 不清楚有哪些按钮可以输出handles查看

handles

MaxNum =  str2double(get(handles.edit1,'String')); %练习获取可编辑文本框中的值

disp(num2str(MaxNum));

ChooseFunctions1 = get(handles.radiobutton1,'Value'); %执行radiobutton对应功能

ChooseFunctions2 = get(handles.radiobutton2,'Value'); %执行radiobutton对应功能

if isImage %处理图像

if ChooseFunctions1 %进行图像翻转

if iscell(ImageFullPath) && Count

InputImage = imread(ImageFullPath{Count + 1});

ResultImage{Count + 1} = 255*ones(size(InputImage)) - double(InputImage);

axes(handles.OriginalAxes);

imshow(InputImage);

axes(handles.ResultAxes);

imshow(ResultImage{Count + 1}/255,[]);

Count = Count + 1;

set(handles.edit2,'String',length(ImageFullPath) - Count);  %设置可编辑对话框中的值

%             set(handles.edit2,'String',[1,2;3,4]);

if Count == length(ImageFullPath)

msgbox('图像处理完!');

Count = 0;

end

elseif ~iscell(ImageFullPath) && Count

InputImage = imread(ImageFullPath);

ResultImage = 255*ones(size(InputImage)) - double(InputImage);

axes(handles.OriginalAxes);

imshow(InputImage);

axes(handles.ResultAxes);

imshow(ResultImage/255,[]);

Count = Count + 1;

set(handles.edit2,'String',0);

if Count == 1

msgbox('图像处理完!');

Count = 0;

end

end

elseif ChooseFunctions2 %进行直方图均衡化

msgbox('没有实现!');

else

errordlg('程序出错了!');

end

elseif isVideo

if ChooseFunctions1

if iscell(VideoFullPath) && Count

VideoObject = VideoReader(VideoFullPath{Count + 1});

for IterVideo = 1:VideoObject.NumberOfFrames

InputFrame = read(VideoObject,IterVideo);

ResultFrame = 255*ones(size(InputFrame)) - double(InputFrame);

axes(handles.OriginalAxes);

imshow(InputFrame);

axes(handles.ResultAxes);

imshow(ResultFrame/255,[]);

end

Count = Count + 1; %改如何保存呢?

elseif ~iscell(ImageFullPath) && Count

Count = Count + 1;

end

elseif ChooseFunction2

msgbox('没有实现!');

else

errordlg('程序出错了!');

end

else

errordlg('需要先导入图像/视频');

end

% --- Executes on button press in ExitPushButton.

function ExitPushButton_Callback(hObject, eventdata, handles)

% hObject    handle to ExitPushButton (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%退出导航

close(gcf);

% msgbox('Exit !!');

function edit1_Callback(hObject, eventdata, handles)

% hObject    handle to edit1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

%        str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject    handle to edit1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

% hObject    handle to edit2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

%        str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject    handle to edit2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on slider movement.

function slider2_Callback(hObject, eventdata, handles)

% hObject    handle to slider2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider

%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider

ValueOfSlider = get(hObject,'Value'); %获取值

set(handles.edit3,'String',ValueOfSlider);

% --- Executes during object creation, after setting all properties.

function slider2_CreateFcn(hObject, eventdata, handles)

% hObject    handle to slider2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor',[.9 .9 .9]);

end

function edit3_Callback(hObject, eventdata, handles)

% hObject    handle to edit3 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text

% %string就是我们先要获得或显示的部分

%        str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject    handle to edit3 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% hObject    handle to popupmenu1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array

%        contents{get(hObject,'Value')} returns selected item from popupmenu1

contents = cellstr(get(hObject,'String')); %弹出式列表中每一行的”文字“

msgbox(['你选择的条目为 = ',contents{1}]);

popupmenuvalue = get(hObject,'Value'); %选择时对应的行

msgbox(num2str(popupmenuvalue));

% --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject    handle to popupmenu1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on selection change in listbox1.

function listbox1_Callback(hObject, eventdata, handles)

% hObject    handle to listbox1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns listbox1 contents as cell array

%        contents{get(hObject,'Value')} returns selected item from listbox1

contents = cellstr(get(hObject,'String'));

contents

contentsvalue = get(hObject,'Value');

msgbox(num2str(contentsvalue));

% --- Executes during object creation, after setting all properties.

function listbox1_CreateFcn(hObject, eventdata, handles)

% hObject    handle to listbox1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: listbox controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in togglebutton1.

function togglebutton1_Callback(hObject, eventdata, handles)

% hObject    handle to togglebutton1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of togglebutton1

% 可以实现:开始--结束--开始...

togglevalue = get(hObject,'Value');

if togglevalue == 0

msgbox('togglevalue =  1');

set(hObject,'String','播放');

elseif togglevalue == 1

msgbox('togglevalue =  0');

set(hObject,'String','停止');

else

errordlg('togglebutton控件设置错误');

end

%复选框

% --- Executes on button press in checkbox2.

function checkbox2_Callback(hObject, eventdata, handles)

% hObject    handle to checkbox2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox2

% --- Executes on button press in checkbox3.

function checkbox3_Callback(hObject, eventdata, handles)

% hObject    handle to checkbox3 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkbox3

% --- Executes when entered data in editable cell(s) in uitable1.

function uitable1_CellEditCallback(hObject, eventdata, handles)

% hObject    handle to uitable1 (see GCBO)

% eventdata  structure with the following fields (see UITABLE)

%   Indices: row and column indices of the cell(s) edited

%   PreviousData: previous data for the cell(s) edited

%   EditData: string(s) entered by the user

%   NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

%   Error: error string when failed to convert EditData to appropriate value for Data

% handles    structure with handles and user data (see GUIDATA)

% --- Executes when selected cell(s) is changed in uitable1.

function uitable1_CellSelectionCallback(hObject, eventdata, handles)

% hObject    handle to uitable1 (see GCBO)

% eventdata  structure with the following fields (see UITABLE)

%   Indices: row and column indices of the cell(s) currently selecteds

% handles    structure with handles and user data (see GUIDATA)

matlab guidata两个,Matlab相关推荐

  1. 复化辛普森公式的误差matlab,求两个matlab的程序,分别利用复化梯形公式和辛普森公式求解误差函数erf(x)。...

    main.m g=@(t)exp(-t.^2); x=linspace(0,5,100); y1=zeros(1,100); y2=zeros(1,100); for i = 1:100 y1(i)= ...

  2. 【 MATLAB 】两个序列的卷积和运算的MATLAB实现(2)

    已知下面两个序列: 求这两个序列的卷积. 求卷积的函数是conv,但是使用这个函数有个问题,就是下标问题,也就是求卷积之后的元素值的位置.因此,我们必须要定一个起始点和一个结束点. 方法: 是两个有限 ...

  3. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...

    问题描述: 初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲 if logical_expression statements elseif logical_ex ...

  4. centos 7安装matlab的两种方法(桌面安装和命令行安装)

    matlab安装说明 安装之前一直以为命令行安装(静默安装)完就是命令行界面,安装成功后才发现还是有桌面的,还跟桌面安装的一模一样.所以,个人建议对linux不太熟悉的还是用桌面版安装,虽然会有点卡顿 ...

  5. matlab 求曲面体积,matlab求两曲面之间的体积

    MATLAB求曲面相交所成空间曲线的图形 放在你程序后也可,单独运行也行:t=-0.1:0.1:2*pi;x=2*cos(t);%交线参数方程z=2*sin(t);y1=sqrt(5)*ones(si ...

  6. 两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序

    两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序,考虑四个场景,模型采用列与约束生成(CCG)算法进行求解,场景分布的概率置信区间由 1-范数和∞-范数约束,程序含拉丁超立方抽样+k ...

  7. 光伏发电并网逆变simulink/matlab仿真 两级三相/单相系统

    光伏发电并网逆变simulink/matlab仿真 两级三相/单相系统 前级采用boost升压斩波电路 mppt最大功率点跟踪采用扰动观察法 可接单相或者三相并网逆变 id=666229534115& ...

  8. matlab合并fig图像,matlab怎么把两个fig叠加

    1. 怎样用matlab把两个figure中的图叠加 figure(1); x=-4:0.5:4; y=x [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; subplot(211) ...

  9. matlab两轮自平衡小车,基于MATLAB的两轮自平衡小车系统模型辨识.pdf

    基于MATLAB的两轮自平衡小车系统模型辨识 学兔兔 第1期 (总第170期) 机 械 工程 与 自动 化 NO.1 2012年 2月 MECHANICAL ENGINEERING & AUT ...

最新文章

  1. 《R语言实战》第2章
  2. 生成word_Word生成员工信息表,每一页生成独立文件,还能自动命名
  3. centos 虚拟机glibc升级_分享Centos6.5升级glibc过程
  4. python中classmethod与staticmethod的差异及应用
  5. 你不知道的 CSS 文档流技巧,让布局更简单
  6. 修改密码-测试用例设计
  7. R语言4.04安装教程
  8. Unity获取本机IP地址
  9. “均线金叉和均线死叉”的经典战法
  10. 结对开发项目--石家庄地铁web版
  11. 人月神话札记:编程的苦恼和乐趣
  12. c语言统计出现个数,C语言统计数字出现的个数
  13. 手机植入木马可以监视你的一举一动,黑客是怎样入侵别人手机的?
  14. 当前时间转换成日期格式
  15. 以麒麟音乐为例,教你如何构建专属自己的音乐播放器
  16. win10关闭任务栏窗口预览
  17. Kali从入门到出门-手记
  18. Java 近闻:JDK 20、新的 JEP 草案、JobRunr 6.0、GraalVM 22.3.1
  19. JS 实现鼠标进入变色
  20. 阿尔法蛋机器人tf卡_阿尔法蛋机器人哪款好适合几岁孩子,超能蛋早教机真实效果评测(价格309元)...

热门文章

  1. canvas画出简陋版随鼠标转动眼睛且会眨眼的可爱樱桃小丸子
  2. 页面中切换echarts主题
  3. user-select属性用法
  4. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
  5. Hadoop源码解析之: TextInputFormat如何处理跨split的行
  6. 工程中新增Properties
  7. 判定点是否在不规则多边形内部的问题
  8. halcon trainf_ocr_class_svm 训练OCR分类器
  9. 【图像处理】——图像滤波(Python+opencv实现三种方法:均值滤波、中值滤波、高斯滤波等)
  10. Linux内核态之间进程通信,内核态和用户态通信(二)--实现