4-1 常用控件的使用
- 格式:ppt
- 大小:572.00 KB
- 文档页数:20
基于qt的课程设计报告一、课程目标知识目标:1. 让学生掌握Qt基本编程概念,如信号与槽机制、事件处理等;2. 使学生了解Qt图形用户界面设计原理,熟悉常用控件的使用;3. 帮助学生理解Qt的网络编程和数据库操作方法。
技能目标:1. 培养学生运用Qt进行图形用户界面设计的能力,能独立开发简单的应用程序;2. 提高学生解决实际问题的编程能力,学会分析需求并使用Qt技术进行实现;3. 培养学生的团队协作和沟通能力,学会在项目中进行有效分工与合作。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发他们探索新技术的好奇心;2. 培养学生认真负责的工作态度,养成良好编程习惯,注重代码规范与优化;3. 增强学生的自信心,让他们在解决问题中体验成功,培养克服困难的毅力。
课程性质分析:本课程为选修课,适用于有一定编程基础的学生。
课程以实践为主,注重培养学生的动手能力和实际应用能力。
学生特点分析:学生具备基本的编程知识,对图形用户界面设计有一定兴趣,但可能对Qt编程框架较为陌生。
部分学生可能在学习过程中遇到困难,需要教师耐心指导。
教学要求:1. 理论与实践相结合,注重实际操作能力的培养;2. 采用项目驱动教学,让学生在实际项目中掌握Qt编程技能;3. 课后提供丰富的学习资源,鼓励学生自主学习,提高解决问题能力。
二、教学内容1. Qt基本概念与编程环境- Qt简介与安装- Qt Creator使用方法- 常用控件与布局2. 信号与槽机制- 信号与槽的定义与使用- 事件处理与过滤3. 图形用户界面设计- 常用控件属性与样式设置- 自定义控件与绘图- 界面布局与美化4. 网络编程与数据库操作- 网络编程基础- 使用Qt网络模块实现简单客户端与服务器- 数据库操作与查询5. 实践项目:开发简易聊天软件- 需求分析- 界面设计与实现- 网络通信与数据库存储教学内容安排与进度:第1周:Qt基本概念与编程环境第2周:信号与槽机制第3周:图形用户界面设计第4周:网络编程与数据库操作第5-6周:实践项目开发与调试教材章节关联:本教学内容与教材中以下章节相关:1. 第1章:Qt概述与安装2. 第2章:Qt基本编程概念3. 第3章:图形用户界面设计4. 第4章:事件处理与信号与槽机制5. 第5章:网络编程与数据库操作教学内容确保科学性和系统性,通过实践项目将所学知识融会贯通,提高学生的实际应用能力。
实训主要内容概述一、了解Windows编程1、类和对象2、窗口3、句柄(handle)和识别号码(ID)4、消息及事件驱动5、工程及资源二、熟悉Visual C++6.0以上的软件开发平台组成:标题栏、菜单栏、Standard工具栏、Wizard栏、Build栏、工作空间窗口、编辑区、选项卡图标、输出窗口和状态栏主要熟悉工作空间的3个选项卡:【ClassView】选项卡、【ResourceView】选项卡和【FileView】选项卡。
三、掌握使用MFC AppWizard开发程序的流程1、启动Visual C++6.02、单击菜单栏中的【File】/【New】命令,打开【New】窗口,选择窗口上部的【Project】选项卡,然后选择该选项卡下的“MFC AppWizard(EXE)”。
将拟定的工程名称“XXXX”及其存放位置输入到相应的编辑框内,单击“OK”按钮,便将MFC AppWizard启动起来。
MFC AppWizard在生成程序框架时,要求以对话方式输入用户的要求。
这一过程需经历如下6个步骤:(1)确定工程类型为单文档、多文档还是对话框。
(2)应用程序中是否使用数据库。
(3)是否需要compound document和ActivxX支持(4)选择应用程序界面信息(5)工程风格及所用库类型(6)用户确认或改动文件及类的名称如果在步骤(1)中建立的是对话框,那么创建工程就只需要4步就可,即(1),(3)--(6)另外,一般采用默认设置,所以做(1)后就可直接按“Finish”按钮结束。
四、供选用的实训题目实训1:控件的使用1---设计与实现求解一元二次方程的根1、熟悉常用的几种控件的使用:编辑框(EditBox)、静态文本框(StaticText)、命令按钮(Button)等。
2、使用控件设计求解一元二次方程根的界面和相应的程序代码。
3、样例与课题任务效果图(1)样例结果图图1-1:样例结果图(2)任务效果图图1-2:任务结果图-----计算一元二次方程的界面实训2:控件的使用2---设计与实现计算器1、熟悉常用的几种控件的使用:编辑框(EditBox)、静态文本框(StaticText)、命令按钮(Button)、列表框(List Box)、单选按钮(Radio Button)、复选框(Check Box)和群组框(Group Box)等。
第5章常用控件习题一、判断题1.命令按钮不但能响应单击事件,而且还能响应双击事件。
2.如果命令按钮Default属性为True,那么任何时候按Enter键都相当于单击该命令按钮。
3.标签控件和文本框控件都能用来输入和输出文本。
4.虽然标签控件显示的文本在运行时不能编辑,但是可以通过程序代码进行改变。
5.SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。
6.文本框控件常用事件有Change事件、KeyPress事件等,此外它也支持鼠标的Click事件和DblClick事件。
7.运行时,控件的位置可以通过程序代码改变Left和Top属性来定位,也可以直接用鼠标拖动控件来定位。
8.要在文本框中输入6位密码,并按回车键确认,则文本框的MaxLength属性可设置为6。
9.要使输入文本框的字符始终显示“#”,则应修改其PasswordChar属性为“#”。
10.在窗体上建立的控件的标题文字或显示内容的默认字体为窗体字体。
11.单选钮控件和复选框控件都具有Value属性,它们的作用完全一样。
12.单选钮能响应Click事件,但不能响应KeyPress事件。
13.使用单选钮控件数组时,它们响应同一个Click事件,由Index参数值来区分不同的按钮。
14.复选框不支持鼠标的双击事件,如果双击则系统会解释为两次单击事件。
15.设置框架时,可先在窗体上画好框架,再往框架内添置控件;也可以先设计控件,再建立框架,然后将已有控件拖动到框架中。
16.移动框架时框架内控件也跟随移动,因此框架内控件的Left和Top属性值也随之改变。
17.当列表框Style属性设置为1时,复选框将显示在列表框中,支持多选,所以可以将MultiSelect属性值设置为0、1、2中任意一个值。
18.当列表框中表项太多、超出了设计时的长度时,Visual Basic会自动给列表框加上垂直滚动条。
19.列表框和文本框一样均没有Caption属性,但都具有Text属性。
vb2010课程设计一、课程目标知识目标:1. 理解VB2010编程环境的基本组成和功能。
2. 掌握VB2010中变量、常量的声明和使用。
3. 学会使用VB2010进行顺序结构、选择结构和循环结构的编程。
4. 熟悉VB2010中常用控件的使用和属性设置。
技能目标:1. 能够独立创建VB2010项目,编写简单的程序代码。
2. 学会使用变量和常量进行数据存储和运算。
3. 能够运用顺序、选择和循环结构编写解决问题的程序。
4. 学会使用常用控件设计界面,实现人机交互。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发创新精神。
2. 培养学生良好的编程习惯,注重代码规范和调试技巧。
3. 培养学生团队协作精神,学会共同解决问题。
课程性质:本课程为信息技术学科,旨在让学生掌握VB2010编程基础,培养编程思维和动手能力。
学生特点:学生处于初中阶段,具有一定的逻辑思维能力和计算机操作基础。
教学要求:注重理论与实践相结合,通过案例分析和实际操作,使学生掌握VB2010编程技能。
教学过程中,关注学生个体差异,激发学习兴趣,提高学生自主学习和合作学习能力。
将课程目标分解为具体学习成果,便于教学设计和评估。
二、教学内容1. VB2010编程环境介绍:包括界面、菜单、工具栏等基本组成部分。
相关教材章节:第一章 VB2010概述2. 数据类型、变量和常量:讲解基本数据类型,学习变量和常量的声明及使用。
相关教材章节:第二章 数据类型与变量常量3. 控制结构:学习顺序结构、选择结构(If条件语句、Select Case语句)和循环结构(For、While循环)。
相关教材章节:第三章 控制结构4. 常用控件:介绍按钮、文本框、标签、列表框等常用控件的使用和属性设置。
相关教材章节:第四章 常用控件5. 简单程序设计:结合以上知识点,设计编写简单的程序实例。
相关教材章节:第五章 简单程序设计6. 项目实践:分组进行项目实践,培养学生团队协作和动手能力。
第四章图形显示4.1概述图形显示对于虚拟仪器面板设计是一个重要的内容。
LabVIEW为此提供了丰富的功能。
在前面几章我们已经接触了这个问题,现在较系统地介绍一下。
我们不从图形的实现方法上去讨论问题,那是计算机图形学的课题。
但我们需要从用户的可能的需求角度探求一下,如果你需要做虚拟仪器方面的开发,那么可能遇到些什么图形问题。
LabVIEW在这方面所做的工作是非常值得借鉴的。
在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。
一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。
而Graph则是对已采集数据进行事后处理的结果。
它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。
它的缺点是没有实时显示,但是它的表现形式要丰富得多。
例如采集了一个波形后,经处理可以显示出其频谱图。
现在,数字示波器也可以具备类似Graph的显示功能。
Chart GraphWaveform(波形)* *XY *Intensity(强度图)* *Digital(数字图)*3D Surface(三维曲面)*3D Parametric(三维参变量)*3D Curve(三维曲线)*而Graph 方式表现形式要远为丰富,但这是以牺牲实时为代价的。
在LabVIEW 6i版本中还包含有极坐标等其他图形(Plot),本章不讨论。
4.2Graph控件各种图形都提供了相应的控件,以Graph为例介绍。
图4-1所示为它的控件。
所有这些控件都包含在图形快速菜单的Visible Items选项下。
曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。
图形模板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。
光标图例可用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。
常见的控件介绍阅读⽬录常见的控件:1.⽂本输⼊框(TextBox)2.按钮控件(Button)3.下拉选框(DropList)4.⽇期/时间控件(Date/TimePicker)5.(图⽚、⽂件)上传控件(Upload)6.树形控件(TreeView)7.列表框(ListBox)8.多格式⽂本框(RichTextBox)9.Tab控件10.其他控件11.多浏览器兼容性问题以下是上述常⽤控件就样式、属性、功能、测试点等⽅⾯的总结1.⽂本框纯⽂本框(不带其他类型控件)主要分为密码框、⽂本框(TextBox)和多⾏⽂本框(TextArea)1.1密码框(1)样式:(2)属性:输⼊的⽂本会⾃动以⿊⾊圆点或星号加密显⽰。
(3)功能:⽤于输⼊密码(4)测试点(功能):1.字符长度2.是否区分字母⼤⼩写3.全⾓半⾓输⼊(数字、英⽂)4.是否允许空格字符5.输⼊的密码是否密⽂显⽰,是否可以“显⽰密码”6.安全性:是否可以复制、粘贴⽅式输⼊、复制粘贴后是否看到明⽂7.安全性:密码传输过程是否加密、数据库保存是否加密8.密码验证⽅式是否为⽐对模式。
9.登录后是否会⽤明⽂传递参数10.利⽤复制粘贴等操作强制输⼊不允许的输⼊数据11.同⽂本框测试点1.2⽂本框(1)样式:(2)属性:普通⽂本框,允许输⼊⽂本、数字等类型的字符(3)功能:⽤于普通⽂本的输⼊和显⽰,常搭配其他控件使⽤(4)测试点(功能):1.输⼊中⽂、英⽂⼤⼩写、数字、特殊字符,构建有效等价类和⽆效等价类2.全⾓半⾓输⼊(数字、英⽂)和显⽰3.输⼊框是否为必填项(空输⼊)4.是否可以输⼊空格以及对空格的处理(包括全⾓半⾓、中英⽂、⽂本⾸尾、⽂本间的空格)5.字符长度6.⽀不⽀持快捷键操作(Enter、Ctrl+“C/V/X/A/Z”复制粘贴剪切全选撤销等)7.数值型、⽇期型、时间型⽂本框的合法性校验8.利⽤复制粘贴等操作强制输⼊不允许的输⼊数据9.特殊字符(串):单引号、双引号、分号、Null、null、/、\、转义字符、</html>等10.JavaScript代码:<b>Hello</b>、alert("hello")11.html代码:<font>你好</font>、<script>alert(/xss/)</script>12.注⼊式Bug1.3多⾏⽂本框(1)样式:(2)属性:可以输⼊复数⾏的⽂本。
WdatePicker.js的使⽤⽅法帮助⽂档使⽤说明(时间控件)4. ⽇期范围限制静态限制注意:⽇期格式必须与 realDateFmt 和 realTimeFmt ⼀致你可以给通过配置minDate(最⼩⽇期),maxDate(最⼤⽇期)为静态⽇期值,来限定⽇期的范围⽰例4-1-1 限制⽇期的范围是 2006-09-10到2008-12-20<input id="d411" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',minDate: '2006-09-10', maxDate: '2008-12-20' })"/>⽰例4-1-2 限制⽇期的范围是 2008-3-8 11:30:00 到 2008-3-10 20:59:30<input type="text" class="Wdate" id="d412" onfocus="WdatePicker({skin:'whyGreen',dateFmt: 'yyyy-MM-dd HH:mm:ss', minDate: '2008-03-08 11:30:00', maxDate: '2008-03-10 20:59:30' })" value="2008-03-09 11:00:00"/>⽰例4-1-3 限制⽇期的范围是 2008年2⽉到 2008年10⽉<input type="text" class="Wdate" id="d413" onfocus="WdatePicker({dateFmt: 'yyyy年M⽉', minDate: '2008-2', maxDate: '2008-10' })"/>⽰例4-1-4 限制⽇期的范围是 8:00:00 到 11:30:00<input type="text" class="Wdate" id="d414" onfocus="WdatePicker({dateFmt: 'H:mm:ss', minDate: '8:00:00', maxDate: '11:30:00' })"/>动态限制注意:⽇期格式必须与 realDateFmt 和 realTimeFmt ⼀致你可以通过系统给出的动态变量,如%y(当前年),%M(当前⽉)等来限度⽇期范围,你还可以通过#{}进⾏表达式运算,如:#{%d+1}:表⽰明天动态变量表格式说明%y 当前年%M 当前⽉%d 当前⽇%ld 本⽉最后⼀天%H 当前时%m 当前分%s 当前秒#{} 运算表达式,如:#{%d+1}:表⽰明天#F{} {}之间是函数可写⾃定义JS代码⽰例4-2-1 只能选择今天以前的⽇期(包括今天)<input id="d421" class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',maxDate: '%y-%M-%d' })"/>⽰例4-2-2 使⽤了运算表达式只能选择今天以后的⽇期(不包括今天)<input id="d422" class="Wdate" type="text" onfocus="WdatePicker({minDate: '%y-%M-#{%d+1}' })"/>⽰例4-2-3 只能选择本⽉的⽇期1号⾄本⽉最后⼀天<input id="d423" class="Wdate" type="text" onfocus="WdatePicker({minDate: '%y-%M-01', maxDate: '%y-%M-%ld' })"/>⽰例4-2-4 只能选择今天7:00:00⾄明天21:00:00的⽇期<input id="d424" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy-M-d H:mm:ss',minDate: '%y-%M-%d 7:00:00', maxDate: '%y-%M-# {%d+1} 21:00:00' })"/>⽰例4-2-5 使⽤了运算表达式只能选择 20⼩时前⾄ 30⼩时后的⽇期<input id="d425" class="Wdate" type="text" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate: '%y-%M-%d #{%H-20}:%m:%s' ,maxDate: '%y-%M-%d #{%H+30}:%m:%s' })"/>脚本⾃定义限制注意:⽇期格式必须与 realDateFmt 和 realTimeFmt ⼀致系统提供了$dp.$D和$dp.$DV这两个API来辅助你进⾏⽇期运算,此外你还可以通过在 #F{} 中填⼊你⾃定义的脚本,做任何你想做的⽇期限制⽰例4-3-1 前⾯的⽇期不能⼤于后⾯的⽇期且两个⽇期都不能⼤于 2020-10-01合同有效期从到<input id="d4311" class="Wdate" type="text" onFocus="WdatePicker({maxDate: '#F{$dp.$D(\'d4312\')||\'2020-10-01\'}' })"/><input id="d4312" class="Wdate" type="text" onFocus="WdatePicker({minDate: '#F{$dp.$D(\'d4311\')}' ,maxDate:'2020-10-01' })"/>注意:两个⽇期的⽇期格式必须相同$dp.$ 相当于 document.getElementByIdx_x 函数.那么为什么⾥⾯的 ' 使⽤ \' 呢? 那是因为 " 和 ' 都被外围的函数使⽤了,故使⽤转义符 \ ,否则会提⽰JS语法错误.所以您在其他地⽅使⽤时注意把 \' 改成 " 或者 ' 来使⽤.#F{$dp.$D(\'d4312\')||\'2020-10-01\'} 表⽰当 d4312 为空时, 采⽤ 2020-10-01 的值作为最⼤值⽰例4-3-2 前⾯的⽇期+3天不能⼤于后⾯的⽇期⽇期从到<input type="text" class="Wdate" id="d4321" onFocus="WdatePicker({maxDate: '#F{$dp.$D(\'d4322\',{d:-3});}' })"/><input type="text" class="Wdate" id="d4322" onFocus="WdatePicker({minDate: '#F{$dp.$D(\'d4321\',{d:3});}' })"/>使⽤ $dp.$D 函数可以将⽇期框中的值,加上定义的⽇期差量:两个参数: id={字符类型}需要处理的⽂本框的id值 , obj={对象类型}⽇期差量⽇期差量⽤法:属性y,M,d,H,m,s分别代表年⽉⽇时分秒如为空时,表⽰直接取值,不做差量(⽰例4-3-1中的参数就是空的){M:5,d:7} 表⽰五个⽉零7天{y:1,d:-3} 表⽰ 1年少3天{d:1,H:1} 表⽰⼀天多1⼩时⽰例4-3-3 前⾯的⽇期+3⽉零2天不能⼤于后⾯的⽇期且前⾯⽇期都不能⼤于 2020-4-3减去3⽉零2天后⾯⽇期不能⼤于 2020-4-3住店⽇期从到<input type="text" class="Wdate" id="d4331" onFocus="WdatePicker({maxDate: '#F{$dp.$D(\'d4332\',{M:-3,d:-2})||$dp.$DV(\'2020-4-3\',{M:-3,d:-2})} '})"/> <input type="text" class="Wdate" id="d4332" onFocus="WdatePicker({minDate: '#F{$dp.$D(\'d4331\',{M:3,d:2});} ',maxDate: '2020-4-3 '})"/>注意:#F{$dp.$D(\'d4332\',{M:-3,d:-2}) || $dp.$DV(\'2020-4-3\',{M:-3,d:-2})}表⽰当 d4332 为空时, 采⽤ $dp.$DV(\'2020-4-3\',{M:-3,d:-2})} 的值作为最⼤值使⽤ $dp.$DV 函数可以将显式传⼊的值,加上定义的⽇期差量:两个参数: value={字符类型}需要处理的值 , obj={对象类型}⽇期差量⽤法同上⾯的 $dp.$D 类似,如 $dp.$DV(\'2020-4-3\',{M:-3,d:-2}) 表⽰ 2020-4-3减去3⽉零2天⽰例4-3-4 发挥你的JS才能,定义任何你想要的⽇期限制⾃动转到随机⽣成的⼀天,当然,此⽰例没有实际的⽤途,只是为演⽰⽬的<script>//返回⼀个随机的⽇期function randomDate(){var Y = 2000 + Math.round(Math.random() * 10);var M = 1 + Math.round(Math.random() * 11);var D = 1 + Math.round(Math.random() * 27);return Y+'-'+M+'-'+D;}</script><input type="text" class="Wdate" id="d434" onFocus="var date=randomDate();WdatePicker({minDate:date,maxDate:date}) "/>⽆效天可以使⽤此功能禁⽤周⽇⾄周六所对应的⽇期,相关属性:disabledDays (0⾄6 分别代表周⽇⾄周六)⽰例4-4-1 禁⽤周六所对应的⽇期<input id="d441" type="text" class="Wdate" onFocus="WdatePicker({disabledDays: [6] })"/>⽰例4-4-2 通过position属性,⾃定义弹出位置<input id="d442" type="text" class="Wdate" onFocus="WdatePicker({disabledDays: [0,6] })"/>⽆效⽇期注意:⽇期格式必须与 realDateFmt 和 realTimeFmt ⼀致可以使⽤此功能禁⽤,所指定的⼀个或多个⽇期,只要你熟悉正则表达式,你可以尽情发挥⽤法(正则匹配):如果你熟悉正则表达式,会很容易理解下⾯的匹配⽤法如果不熟悉,可以参考下⾯的常⽤⽰例['2008-02-01','2008-02-29'] 表⽰禁⽤ 2008-02-01 和 2008-02-29['2008-..-01','2008-02-29'] 表⽰禁⽤ 2008-所有⽉份-01 和 2008-02-29['200[0-8]]-02-01','2008-02-29'] 表⽰禁⽤ [2000⾄2008]-02-01 和 2008-02-29['^2006'] 表⽰禁⽤ 2006年的所有⽇期此外,您还可以使⽤ %y %M %d %H %m %s 等变量, ⽤法同动态⽇期限制注意:%ld不能使⽤['....-..-01','%y-%M-%d'] 表⽰禁⽤所有年份和所有⽉份的第⼀天和今天['%y-%M-#{%d-1}','%y-%M-#{%d+1}'] 表⽰禁⽤昨天和明天当然,除了可以限制⽇期以外,您还可以限制时间['....-..-.. 10\:00\:00'] 表⽰禁⽤每天10点 (注意 : 需要使⽤ \: )不再多举例了,尽情发挥你的正则才能吧!⽰例4-5-1 禁⽤每个⽉份的 5⽇ 15⽇ 25⽇<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates: ['5$'] })"/>注意 : '5$' 表⽰以 5 结尾注意 $ 的⽤法⽰例4-5-2 禁⽤所有早于2000-01-01的⽇期<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates: ['^19'] })"/>注意: '^19' 表⽰以 19 开头注意 ^ 的⽤法当然,可以使⽤minDate实现类似的功能这⾥主要是在演⽰ ^ 的⽤法⽰例4-5-3 配合min/maxDate使⽤,可以把可选择的⽇期分隔成多段本⽰例本⽉可⽤⽇期分隔成五段分别是: 1-3 8-10 16-24 26,27 29-⽉末<input id="d453" type="text" class="Wdate" onFocus="WdatePicker({minDate: '%y-%M-01' ,maxDate: '%y-%M-%ld' ,disabledDates: ['0[4-7]$','1[1-5]$','2[58]$'] })"/>⽰例4-5-4 min/maxDate disabledDays disabledDates 配合使⽤即使在要求⾮常苛刻的情况下也能满⾜需求<input id="d454" type="text" class="Wdate" onFocus="WdatePicker({minDate: '%y-%M-01' ,maxDate: '%y-%M-%ld' ,disabledDates: ['0[4-7]$','1[1-5]$','2[58]$'] ,disabledDays: [1,3,6] })"/>⽰例4-5-5 禁⽤前⼀个⼩时和后⼀个⼩时内所有时间使⽤ %y %M %d %H %m %s 等变量⿏标点击⼩时输⼊框时,你会发现当然时间对应的前⼀个⼩时和后⼀个⼩时是灰⾊的<input id="d2a25" type="text" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',disabledDates: ['%y-%M-%d #{%H-1}\:..\:..','%y-%M-%d #{%H+1}\:..\:..'] })"/>注意: %y %M %d等详见动态变量表⽰例4-5-6 #F{}也是可以使⽤的本⽰例利⽤⾃定义函数随机禁⽤0-23中的任何⼀个⼩时打开⼩时选择框,你会发现有⼀个⼩时被禁⽤的,⽽且每次禁⽤的⼩时都不同<script>function randomH(){//产⽣⼀个随机的数字 0-23var H = Math.round(Math.random() * 23);if(H<10) H='0'+H;//返回 '^' + 数字return '^'+H;}</script><input type="text" class="Wdate" id="d456" onFocus="WdatePicker({dateFmt:'HH:mm:ss',disabledDates: ['#F{randomH()}'] })"/>有效天与有效⽇期使⽤⽆效天和⽆效⽇期可以很⽅便的禁⽤不可⽤的⽇期,但是在只需要启⽤少部分⽇期的情况下,有效天和有效⽇期的功能就⾮常适合了.关键属性: opposite 默认为false, 为true时,⽆效天和⽆效⽇期变成有效天和有效⽇期⽰例4-6 只启⽤每个⽉份的 5⽇ 15⽇ 25⽇<input id="d46" type="text" class="Wdate" onFocus="WdatePicker({opposite: true ,disabledDates: ['5$'] })"/>注意 : '5$' 表⽰以 5 结尾注意 $ 的⽤法特殊天和特殊⽇期特殊天和特殊⽇期的⽤法跟完全⽆效天和⽆效⽇期完全相同,但是opposite属性对其⽆效关键属性:specialDays (0⾄6 分别代表周⽇⾄周六) ⽤法同⽆效天specialDates ⽤法同⽆效⽇期,但是对时分秒⽆效⽰例4-7-1 ⾼亮每周周⼀周五<input id="d471" type="text" class="Wdate" onFocus="WdatePicker({specialDays: [1,5] })"/>⽰例4-7-2 ⾼亮每⽉ 1号 15号<input id="d472" type="text" class="Wdate" onFocus="WdatePicker({specialDates: ['....-..-01','....-..-15'] })"/>。