در این مطلب، ویدئو python curses: ادغام ماوس (متوسط) آنتونی توضیح می دهد #267 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:31
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:02,960 –> 00:00:04,960
سلام و به ویدیوی دیگری در این ویدیو خوش آمدید،
2
00:00:04,960 –> 00:00:06,160
ما دوباره در مورد نفرین صحبت خواهیم
3
00:00:06,160 –> 00:00:07,839
کرد، من چند ویدیو در مورد
4
00:00:07,839 –> 00:00:08,880
نفرین ها انجام
5
00:00:08,880 –> 00:00:10,320
دادم یا آنها را در توضیحات پیوند خواهم داد.
6
00:00:10,320 –> 00:00:12,799
7
00:00:12,799 –> 00:00:14,240
8
00:00:14,240 –> 00:00:16,560
ما در حال ساختن یک
9
00:00:16,560 –> 00:00:18,960
رابط کاربری ترمینال هستیم که میتوانید با استفاده از ماوس با آن تعامل داشته باشید
10
00:00:18,960 –> 00:00:22,080
، بنابراین اجازه دهید ما
11
00:00:22,080 –> 00:00:24,560
وارد آن شویم، بنابراین فقط به
12
00:00:24,560 –> 00:00:26,080
شما یک نسخه ی نمایشی سریع از مواردی مانند برخی از
13
00:00:26,080 –> 00:00:27,680
کارهایی که ممکن است بتوانید با این من انجام دهید ارائه دهیم
14
00:00:27,680 –> 00:00:30,240
. میخواهم برنامهای را به شما نشان دهم که
15
00:00:30,240 –> 00:00:32,238
برای پروژه میکروکنترلر سوئیچ خود نوشتم،
16
00:00:32,238 –> 00:00:33,200
17
00:00:33,200 –> 00:00:36,719
فقط میدانید که شروع به ایجاد یک رابط کاربری
18
00:00:36,719 –> 00:00:40,000
یا تعامل با سوئیچ نینتندو
19
00:00:40,000 –> 00:00:42,800
با استفاده از یک رابط کاربری ترمینال کردهاید، بنابراین من
20
00:00:42,800 –> 00:00:43,520
فقط میدانید
21
00:00:43,520 –> 00:00:46,079
چند دکمه را در اینجا نشان میدهید و میدانید که
22
00:00:46,079 –> 00:00:47,920
این دکمهها هستند. قابل کلیک کردن، بنابراین من می توانم
23
00:00:47,920 –> 00:00:49,200
از ماوس برای کلیک کردن روی آنها استفاده کنم،
24
00:00:49,200 –> 00:00:51,600
ما یک
25
00:00:51,600 –> 00:00:53,440
نسخه
26
00:00:53,440 –> 00:00:54,559
27
00:00:54,559 –> 00:00:56,840
بسیار ساده تر از این
28
00:00:56,840 –> 00:00:58,000
29
00:00:58,000 –> 00:01:01,120
را خواهیم ساخت. این را از ابتدا
30
00:01:01,120 –> 00:01:03,600
تمام دکل بسازید ht پس بیایید با باز کردن یک فایل پایتون شروع کنیم،
31
00:01:03,600 –> 00:01:05,519
من فقط می
32
00:01:05,519 –> 00:01:06,960
خواهم boilerplate را انجام دهم تا برنامه curses را دریافت کنیم
33
00:01:06,960 –> 00:01:08,799
که
34
00:01:08,799 –> 00:01:12,880
از خروجی اصلی
35
00:01:12,880 –> 00:01:17,520
دور بزند curses.rapper c main
36
00:01:17,520 –> 00:01:20,400
و ما def c main را خواهیم داشت که
37
00:01:20,400 –> 00:01:20,880
باید انجام شود
38
00:01:20,880 –> 00:01:24,479
صفحه استاندارد Uh curses dot
39
00:01:24,479 –> 00:01:27,759
curses window و این
40
00:01:27,759 –> 00:01:28,000
یک
41
00:01:28,000 –> 00:01:31,280
پایان است و ما قصد وارد کردن نفرینها را داریم،
42
00:01:31,280 –> 00:01:35,439
من همچنین قصد دارم از حاشیهنویسیهای وارداتی آینده انجام دهم، به
43
00:01:35,439 –> 00:01:38,799
این ترتیب میتوانم از
44
00:01:38,799 –> 00:01:40,400
این نوع حاشیه نویسی در اینجا استفاده کنم
45
00:01:40,400 –> 00:01:42,159
زیرا در واقع یک نوع جعلی است.
46
00:01:42,159 –> 00:01:44,479
من نمی توانم از آن به طور معمول استفاده کنم
47
00:01:44,479 –> 00:01:46,880
و بنابراین بیایید یک حلقه کوچک در
48
00:01:46,880 –> 00:01:47,680
اینجا قرار دهیم در حالی که
49
00:01:47,680 –> 00:01:51,680
c واقعی برابر است با نقطه استاندارد صفحه نمایش
50
00:01:51,680 –> 00:01:54,720
که اگر
51
00:01:54,720 –> 00:01:57,840
c برابر با q uh باشد، در واقع صفر را برمی گرداند،
52
00:01:57,840 –> 00:01:59,439
زیرا یک حلقه بی نهایت است، ما
53
00:01:59,439 –> 00:02:01,759
می توانیم این کار را انجام دهیم.
54
00:02:01,759 –> 00:02:05,600
ما فقط
55
00:02:05,600 –> 00:02:07,600
hello hello world را در بالای
56
00:02:07,600 –> 00:02:09,360
صفحه قرار می
57
00:02:09,360 –> 00:02:10,959
دهیم تا چیزی را نشان دهیم، بنابراین این فقط یک برنامه اصلی نفرین است،
58
00:02:10,959 –> 00:02:12,640
59
00:02:12,640 –> 00:02:14,239
می توانید ببینید hello hello world چاپ می کند
60
00:02:14,239 –> 00:02:16,640
و اگر چیزی را روی صفحه کلید تایپ
61
00:02:16,640 –> 00:02:18,480
کنیم، متوقف نمی شود، اما اگر ما نوع q آن را
62
00:02:18,480 –> 00:02:20,160
ترک می کند خوب سرد بنابراین
63
00:02:20,160 –> 00:02:23,360
ما یک cu پایه پایه داریم برنامه rses راهاندازی شد،
64
00:02:23,360 –> 00:02:25,680
بنابراین کاری که میخواهم انجام دهم این است که
65
00:02:25,680 –> 00:02:27,280
شما را با چند عملکرد
66
00:02:27,280 –> 00:02:28,720
لازم برای کار
67
00:02:28,720 –> 00:02:32,080
با ماوس به عنوان ورودی آشنا کنم
68
00:02:32,080 –> 00:02:33,760
و اولین مورد از آنها را بررسی کنم و من فقط
69
00:02:33,760 –> 00:02:35,599
میخواهم مستندات
70
00:02:35,599 –> 00:02:38,800
را مرور کنم. که برای شما اولین
71
00:02:38,800 –> 00:02:39,200
72
00:02:39,200 –> 00:02:42,560
مورد ماسک ماوس است، بنابراین کاری که انجام می دهد این است که دوره
73
00:02:42,560 –> 00:02:44,160
رویدادهای ماوس را فعال می کند
74
00:02:44,160 –> 00:02:46,640
بدون این، شما
75
00:02:46,640 –> 00:02:47,680
اصلاً رویدادهای ماوس ندارید،
76
00:02:47,680 –> 00:02:49,200
من معمولاً می بینم که
77
00:02:49,200 –> 00:02:51,440
ساده ترین راه فعال کردن همه رویدادهای ماوس است، ساده ترین راه
78
00:02:51,440 –> 00:02:52,560
برای انجام این کار این
79
00:02:52,560 –> 00:02:55,920
است فقط با انجام ماسک نقطه مربعی استاندارد
80
00:02:55,920 –> 00:02:59,040
ماوس و استفاده از یک منفی،
81
00:02:59,040 –> 00:03:01,120
به این معنی است که می دانید
82
00:03:01,120 –> 00:03:03,040
هر رویداد جمعی را بردارید و آن را منفی تفسیر کنید،
83
00:03:03,040 –> 00:03:05,040
یکی راحت است، زیرا
84
00:03:05,040 –> 00:03:07,599
به صورت باینری است و توسط شما نشان داده
85
00:03:07,599 –> 00:03:10,239
می شود که فقط یک سری از یک در دو مکمل را می دانید،
86
00:03:10,239 –> 00:03:11,519
بنابراین کجاست.
87
00:03:11,519 –> 00:03:13,200
یک دسته کامل از پرچمهای موش وجود دارد که
88
00:03:13,200 –> 00:03:15,440
من نمیدانم آنها چیست و
89
00:03:15,440 –> 00:03:16,959
راحتتر است که به آن فکر نکنم
90
00:03:16,959 –> 00:03:18,800
و فقط از پرچمهای منفی استفاده کنم، بنابراین این
91
00:03:18,800 –> 00:03:22,000
همان کاری است که من آنجا انجام میدهم، بیایید در
92
00:03:22,000 –> 00:03:22,400
واقع یک مورد
93
00:03:22,400 –> 00:03:25,920
دیگر را اینجا
94
00:03:25,920 –> 00:03:28,159
بگذاریم و فقط بلند کنیم یک خطا من در موردی
95
00:03:28,159 –> 00:03:29,280
که ما شخصیتی را دریافت می
96
00:03:29,280 –> 00:03:30,959
کنیم که انتظارش را نداریم، پس حالا
97
00:03:30,959 –> 00:03:34,480
اوه اوه، این نفرین است. ماسک ماوس
98
00:03:34,480 –> 00:03:35,680
روی صفحه نمایش استاندارد
99
00:03:35,680 –> 00:03:37,680
نیست، بنابراین برخی چیزها در ویندوز هستند،
100
00:03:37,680 –> 00:03:39,040
برخی چیزها
101
00:03:39,040 –> 00:03:41,599
مشکلی ندارند، بنابراین اکنون اگر q را
102
00:03:41,599 –> 00:03:43,360
تایپ کنیم، اگر تایپ کنیم از بین می رود. مانند حرف a که خواهید دید،
103
00:03:43,360 –> 00:03:43,760
104
00:03:43,760 –> 00:03:45,920
یک خطای ادعای a دریافت میکنیم و اگر
105
00:03:45,920 –> 00:03:47,280
با ماوس کلیک
106
00:03:47,280 –> 00:03:49,360
کنم، این عدد را در اینجا دریافت میکنیم، حالا این
107
00:03:49,360 –> 00:03:52,319
عدد به خودی خود است، چندان مفید
108
00:03:52,319 –> 00:03:54,879
نیست، اوه، اما نفرینها چند ثابت دارد و
109
00:03:54,879 –> 00:03:56,480
این اتفاق میافتد. برای
110
00:03:56,480 –> 00:03:58,879
ردیف کردن با اوه، فکر میکنم این کلید
111
00:03:58,879 –> 00:04:01,040
ماوس زیرخط است،
112
00:04:01,040 –> 00:04:02,879
اوه، در واقع مقدار را به
113
00:04:02,879 –> 00:04:04,319
114
00:04:04,319 –> 00:04:08,319
ما نمیگوید، امم، اما میتوانیم بگوییم lfc برابر است با
115
00:04:08,319 –> 00:04:11,760
نشانگرهای نقطهای ماوس کلید و اجازه دهید فقط
116
00:04:11,760 –> 00:04:12,080
بگوییم
117
00:04:12,080 –> 00:04:14,959
نقطه مربع استاندارد، رویداد ماوس فروشگاه را اضافه
118
00:04:14,959 –> 00:04:15,599
119
00:04:15,599 –> 00:04:18,238
کنید. فقط رویداد ماوس را چاپ کنید
120
00:04:18,238 –> 00:04:19,918
در واقع ما میتوانیم آن را در
121
00:04:19,918 –> 00:04:24,800
خط دوم انجام دهیم، بنابراین حالا اگر این را اجرا
122
00:04:24,800 –> 00:04:28,000
کنیم و یک عدد صحیح کلیک کنیم
123
00:04:28,000 –> 00:04:31,199
، رشته مورد نیاز است oh yeah x
124
00:04:31,199 –> 00:04:34,560
y x و ما روی uh کلیک میکنیم، خواهید دید که
125
00:04:34,560 –> 00:04:36,320
یک رویداد ماوس را در آنجا دریافت میکنیم، توجه داشته باشید که
126
00:04:36,320 –> 00:04:37,919
کمی تأخیر بود،
127
00:04:37,919 –> 00:04:41,840
من معمولاً این را منفی می
128
00:04:41,840 –> 00:04:43,440
دانم دوست دارم رویدادهای ماوس خود را
129
00:04:43,440 –> 00:04:44,080
فوراً
130
00:04:44,080 –> 00:04:46,320
ببینم، اما راهی برای تشخیص فقط
131
00:04:46,320 –> 00:04:48,240
یک کلیک در مقابل کلیک واقعی وجود دارد
132
00:04:48,240 –> 00:04:50,000
که
133
00:04:50,000 –> 00:04:51,600
134
00:04:51,600 –> 00:04:53,360
میدانید ماوس را پایین و بالا
135
00:04:53,360 –> 00:04:55,440
میبرید.
136
00:04:55,440 –> 00:04:57,440
در مورد
137
00:04:57,440 –> 00:04:58,560
138
00:04:58,560 –> 00:05:02,560
139
00:05:02,560 –> 00:05:06,000
لعنهای داخلی که um را از بین میبرند، چه کاری انجام میدهم آهان عملکرد چیست. فاصله ماوس
140
00:05:06,000 –> 00:05:07,680
141
00:05:07,680 –> 00:05:09,440
um بنابراین مقدار پیشفرض 200
142
00:05:09,440 –> 00:05:10,960
میلیثانیه است، بنابراین این
143
00:05:10,960 –> 00:05:12,720
تاخیر کوچک از زمانی که کلیک میکردم تا زمانی که
144
00:05:12,720 –> 00:05:13,440
ثبت شد، این همان چیزی است
145
00:05:13,440 –> 00:05:15,360
که بهتر است از فاصله ماوس استفاده کنید
146
00:05:15,360 –> 00:05:17,680
این را روی صفر تنظیم کنید تا فوراً اتفاق بیفتد،
147
00:05:17,680 –> 00:05:19,120
148
00:05:19,120 –> 00:05:22,320
بنابراین من مکان نما را انجام می دهم.
149
00:05:22,320 –> 00:05:25,840
فاصله زمانی ماوس صفر است، بنابراین اکنون وقتی این
150
00:05:25,840 –> 00:05:27,759
اتفاق می افتد باید فوراً یک رویداد ماوس دریافت
151
00:05:27,759 –> 00:05:29,199
152
00:05:29,199 –> 00:05:31,600
کنم تا وقتی کلیک کردم ببینید اوه می
153
00:05:31,600 –> 00:05:33,360
دانید به
154
00:05:33,360 –> 00:05:37,199
جای اینکه منتظر 200 میلی ثانیه باشیم،
155
00:05:37,199 –> 00:05:39,520
فوراً روی صفحه
156
00:05:39,520 –> 00:05:41,039
157
00:05:41,039 –> 00:05:42,320
158
00:05:42,320 –> 00:05:43,759
159
00:05:43,759 –> 00:05:46,400
نمایش داده شد. ثانیه
160
00:05:46,400 –> 00:05:48,560
روش ry برای بازیابی رویداد ماوس و
161
00:05:48,560 –> 00:05:49,759
آن
162
00:05:49,759 –> 00:05:52,240
get mouse است، اگر
163
00:05:52,240 –> 00:05:53,120
میخواهید
164
00:05:53,120 –> 00:05:55,199
یک رویداد ماوس را در صف قرار دهید، ماوس unget وجود دارد، اما معمولاً
165
00:05:55,199 –> 00:05:56,240
مجبور نیستید این کار را انجام دهید،
166
00:05:56,240 –> 00:05:59,520
اما رویدادی که ما
167
00:05:59,520 –> 00:06:02,560
میخواهیم تابع get mouse است.
168
00:06:02,560 –> 00:06:06,319
و این یک پنج تاپل را برای ما بازیابی می
169
00:06:06,319 –> 00:06:09,120
کند، در واقع یک چیز خنده دار
170
00:06:09,120 –> 00:06:10,240
در مورد این است که
171
00:06:10,240 –> 00:06:12,720
نمی دانم چرا آنها این کار را کردند اما در
172
00:06:12,720 –> 00:06:13,360
173
00:06:13,360 –> 00:06:15,039
واقع یک مختصات x و y وجود دارد که
174
00:06:15