1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 扬声器1:让我们写一个程序 一个图形用户界面,也 3 00:00:03,350 --> 00:00:04,580 包括标签。 4 00:00:04,580 --> 00:00:07,940 而在这个标签,我们要存储 数,尽管作为一个字符串。 5 00:00:07,940 --> 00:00:10,880 而我们将更新该标签 又一次,又一次,又一次。 6 00:00:10,880 --> 00:00:15,040 所以,最终我们算 向下从50到零。 7 00:00:15,040 --> 00:00:20,910 Glabel,称它的标签,得到 返回新glabel价值。 8 00:00:20,910 --> 00:00:22,900 现在,我不打算给这个 标签值,因此我会 9 00:00:22,900 --> 00:00:25,040 放在引号,引文结束。 10 00:00:25,040 --> 00:00:29,080 >> 接下来让我们叫个setFont,路过 在标签,让我们在传递 11 00:00:29,080 --> 00:00:32,910 特别是所谓的字体 SANSSERIF 36点。 12 00:00:32,910 --> 00:00:36,370 出现这种情况存在的字体 里面的CS50设备。 13 00:00:36,370 --> 00:00:41,940 于是最后,让我们添加标签 到如下的窗口。 14 00:00:41,940 --> 00:00:44,580 现在,让我们继续以诱使 循环是怎么回事计数 15 00:00:44,580 --> 00:00:46,400 从50降低到零。 16 00:00:46,400 --> 00:00:49,520 而这循环中,让我们反复 更新标签和 17 00:00:49,520 --> 00:00:55,800 在屏幕上显示出来,因为,INT I 得到50,i是大于或等于 18 00:00:55,800 --> 00:00:59,750 零,我减,减。 19 00:00:59,750 --> 00:01:02,090 >> 现在,标签,事实证明, 必须是字符串。 20 00:01:02,090 --> 00:01:04,110 但实际上,我计数, 使用整数。 21 00:01:04,110 --> 00:01:07,750 所以,在某种程度上,我将不得不转换 整数,我,一个字符串 22 00:01:07,750 --> 00:01:09,010 表示箭头。 23 00:01:09,010 --> 00:01:12,480 要做到这一点,让我们声明 char中支架3。 24 00:01:12,480 --> 00:01:15,500 因此,我们有足够的存储空间 为2位的数字,然后是 25 00:01:15,500 --> 00:01:16,910 空终止符。 26 00:01:16,910 --> 00:01:22,480 那么让我们来调用的print f传球 以s,传入报价, 27 00:01:22,480 --> 00:01:24,220 引文%的我。 28 00:01:24,220 --> 00:01:26,960 这表明我们确实希望 格式化的整数。 29 00:01:26,960 --> 00:01:29,420 最后,在经过我自己。 30 00:01:29,420 --> 00:01:34,100 换句话说,s打印f或字符串 打印楼就像打印楼预计 31 00:01:34,100 --> 00:01:37,450 格式字符串以及紧接着的一些变量 替换成 32 00:01:37,450 --> 00:01:38,430 格式字符串。 33 00:01:38,430 --> 00:01:41,910 但它也可以接受是其第一 参数,位置在其中 34 00:01:41,910 --> 00:01:44,400 想存储的字符串 你已经代表 35 00:01:44,400 --> 00:01:45,830 与该格式字符串。 36 00:01:45,830 --> 00:01:52,540 >> 所以接下来,让我们继续前进,呼叫建立, 标签,通过标签中,通过以s。 37 00:01:52,540 --> 00:01:56,430 现在,终于,只是因为这个标签 宽度会随时间而改变 38 00:01:56,430 --> 00:02:00,640 我们倒计时从50到49,打点, 点,点,到九到八。 39 00:02:00,640 --> 00:02:03,170 这是不一样宽 两位数字是。 40 00:02:03,170 --> 00:02:05,570 让我们继续来动态计算出 什么的这个宽度 41 00:02:05,570 --> 00:02:08,930 标签应再保证 它总是在屏幕上居中。 42 00:02:08,930 --> 00:02:12,390 我首先要声明一个双, 称这是X,而我则打算 43 00:02:12,390 --> 00:02:16,880 存储的x里面,拿到的结果 宽度,传入的宽度 44 00:02:16,880 --> 00:02:22,120 整个窗口,减得宽, 通过在标签中。 45 00:02:22,120 --> 00:02:24,880 然后把整个事情由两个。 46 00:02:24,880 --> 00:02:29,660 同样我要申报y将成为 等于得到整个高度 47 00:02:29,660 --> 00:02:37,280 只是窗口,减去获取高度 标签和除以2为好。 48 00:02:37,280 --> 00:02:40,680 最后,我要打电话介绍SetLocation, 通过在标签, 49 00:02:40,680 --> 00:02:43,180 通过在X,传入年。 50 00:02:43,180 --> 00:02:45,970 有通过定位 标签在x逗号年。 51 00:02:45,970 --> 00:02:49,290 >> 最后,使该倒数不 发生得太快,让我们 52 00:02:49,290 --> 00:02:53,350 暂停,对于比如说,在100毫秒 标签的每个更新。 53 00:02:53,350 --> 00:02:56,320 要做到这一点,我们就可以调用pause 功能,即在被定义 54 00:02:56,320 --> 00:03:00,390 斯坦福移植的库, 很简单,如下所示。 55 00:03:00,390 --> 00:03:04,230 >> 现在让我们保存,编译, 并运行此程序。 56 00:03:04,230 --> 00:03:08,320 做标签,点斜线,标签。 57 00:03:08,320 --> 00:03:11,000 还有我的用户界面 从50开始递减计数。 58 00:03:11,000 --> 00:03:14,570 计算下来,下来, 上下,和完成。 59 00:03:14,570 --> 00:03:16,992