در این مطلب، ویدئو ساخت برنامه های GUI پایه با tkinter در پایتون 3 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,560
سلام، در این ویدیو،
2
00:00:01,560 –> 00:00:03,419
ساختن برنامههای گرافیکی بسیار ابتدایی
3
00:00:03,419 –> 00:00:06,629
در پایتون را بررسی میکنیم، بنابراین تا به حال،
4
00:00:06,629 –> 00:00:09,380
تنها کاری که انجام دادهایم ساختن
5
00:00:09,380 –> 00:00:11,880
برنامههای رابط خط فرمان است، بنابراین اینها
6
00:00:11,880 –> 00:00:13,740
برنامههایی هستند که فقط
7
00:00:13,740 –> 00:00:17,010
متن ساده را در پوسته پایتون یا سایر موارد چاپ میکنند.
8
00:00:17,010 –> 00:00:18,660
رابط خط فرمان و این کاملاً در
9
00:00:18,660 –> 00:00:21,090
تضاد با چیزی است که امروزه به آن عادت کردهایم،
10
00:00:21,090 –> 00:00:23,550
من روی رایانههایی کار میکنم که در
11
00:00:23,550 –> 00:00:26,490
آنها رابطهای گرافیکی خوبی داریم
12
00:00:26,490 –> 00:00:30,090
که میتوانید روی چیزها و چیزهایی
13
00:00:30,090 –> 00:00:32,250
مانند آن کلیک کنید و آنقدرها خسته کننده نیست،
14
00:00:32,250 –> 00:00:35,550
فقط متن ساده است. راهی که ما این
15
00:00:35,550 –> 00:00:38,610
کار را انجام می دهیم با استفاده از چیزی به نام TK
16
00:00:38,610 –> 00:00:43,290
enter یا Kenter است و این چیزی است
17
00:00:43,290 –> 00:00:45,149
که با اکثر نصب های پایتون بسته بندی می شود
18
00:00:45,149 –> 00:00:46,860
و به نوعی رایج ترین
19
00:00:46,860 –> 00:00:49,379
راه برای ایجاد
20
00:00:49,379 –> 00:00:55,980
رابط های کاربری گرافیکی یا GUI z’ در پایتون و غیره است. برای
21
00:00:55,980 –> 00:00:58,050
وارد کردن این کتابخانه میتوانم بگویم از
22
00:00:58,050 –> 00:01:02,399
Kenter یک ستاره را وارد کنید و همانطور که میدانید ما میتوانیم
23
00:01:02,399 –> 00:01:05,250
مانند import به Kenter انجام دهیم، این
24
00:01:05,250 –> 00:01:06,390
همان چیزی است، اما
25
00:01:06,390 –> 00:01:08,549
هر بار که میخواهیم از تابعی استفاده کنیم باید تایپ اضافی انجام دهیم.
26
00:01:08,549 –> 00:01:10,229
ماژول است، بنابراین ما فقط میخواهیم این
27
00:01:10,229 –> 00:01:12,960
را نادیده بگیریم، بنابراین این
28
00:01:12,960 –> 00:01:17,640
مفهوم است.
29
00:01:17,640 –> 00:01:19,409
30
00:01:19,409 –> 00:01:20,729
31
00:01:20,729 –> 00:01:23,280
32
00:01:23,280 –> 00:01:25,710
33
00:01:25,710 –> 00:01:28,409
به پایتون، بنابراین ما میتوانیم از آن برای ساختن
34
00:01:28,409 –> 00:01:30,150
این برنامههای گرافیکی
35
00:01:30,150 –> 00:01:34,409
به راحتی استفاده کنیم، اکنون ماژولهای بسیار زیادی
36
00:01:34,409 –> 00:01:37,049
وجود دارد که کتابخانههای دیگری
37
00:01:37,049 –> 00:01:38,850
برای ساخت برنامههای گرافیکی در دسترس هستند،
38
00:01:38,850 –> 00:01:40,470
تعداد زیادی از
39
00:01:40,470 –> 00:01:43,619
آنها وجود دارد و حتی در ماژول tkinter
40
00:01:43,619 –> 00:01:48,020
چیزهای زیادی برای آن وجود دارد. میتوانم
41
00:01:48,020 –> 00:01:51,180
زمان زیادی را صرف پوشش دادن تمام
42
00:01:51,180 –> 00:01:52,619
کارهای مختلفی که میتوانید با این کار انجام دهید
43
00:01:52,619 –> 00:01:54,180
و تمام انعطافپذیریها، بنابراین
44
00:01:54,180 –> 00:01:56,520
من به سختی سطح را
45
00:01:56,520 –> 00:02:00,360
با برنامههای بسیار ساده و ابتدایی خراش میدهم و
46
00:02:00,360 –> 00:02:03,210
بعداً اگر میخواهید، قطعاً
47
00:02:03,210 –> 00:02:04,829
میتوانید وارد این کار شوید. و تا آنجا که می خواهید عمیق بروید
48
00:02:04,829 –> 00:02:06,600
و همه چیز را در مورد همه
49
00:02:06,600 –> 00:02:07,740
چیزهای مختلفی که می توانید انجام دهید یاد بگیرید، اما
50
00:02:07,740 –> 00:02:08,669
ما فقط سطح
51
00:02:08,669 –> 00:02:10,770
را می خراشیم تا بتوانید بگویید که می توانید ساده بنویسید.
52
00:02:10,770 –> 00:02:12,390
برنامه گرافیکی و هر کاری
53
00:02:12,390 –> 00:02:14,520
که انجام می دهید
54
00:02:14,520 –> 00:02:17,280
خطوط متنی قدیمی خسته کننده نیست و
55
00:02:17,280 –> 00:02:19,080
حتی می توانید با آن بازی بسازید، اما
56
00:02:19,080 –> 00:02:20,340
ماژول های دیگری نیز وجود دارند که
57
00:02:20,340 –> 00:02:22,650
برای پیوستن به این چیزها کمی سازگارتر
58
00:02:22,650 –> 00:02:26,280
هستند، بنابراین ممکن است استفاده از آن را توصیه نکنم.
59
00:02:26,280 –> 00:02:27,750
یک بازی بسازید، اما اگر میخواهید،
60
00:02:27,750 –> 00:02:29,490
قطعاً میتوانید آن را انجام دهید،
61
00:02:29,490 –> 00:02:31,740
پس بیایید وارد شویم وگرنه این
62
00:02:31,740 –> 00:02:33,990
اولین خطی است که استفاده میکنیم و اولین
63
00:02:33,990 –> 00:02:36,900
کاری که انجام میدهیم
64
00:02:36,900 –> 00:02:39,240
، پنجره را درست میکنم، بنابراین من. من تماس میگیرم، میخواهم
65
00:02:39,240 –> 00:02:40,770
بگویم استاد این فقط نامی است
66
00:02:40,770 –> 00:02:42,300
که میتوانید نام آن را هر چیزی که فقط
67
00:02:42,300 –> 00:02:45,000
متغیر است، بگذارید و من از این TK در
68
00:02:45,000 –> 00:02:46,590
سمت راست استفاده میکنم که پنجره را ایجاد میکند
69
00:02:46,590 –> 00:02:49,320
و اساساً تنها کاری که میخواهیم انجام دهیم اضافه کردن
70
00:02:49,320 –> 00:02:51,180
ویجتها است. به پنجره، بنابراین
71
00:02:51,180 –> 00:02:53,610
ویجتهای مختلف زیادی در دسترس هستند،
72
00:02:53,610 –> 00:02:56,840
چیزهایی مانند برچسبهای متن دکمهها،
73
00:02:56,840 –> 00:02:59,760
کادرهای چک منوها و غیره وجود دارد، سپس میتوانیم
74
00:02:59,760 –> 00:03:01,709
اضافه کنیم و بنابراین پنجره ما فقط
75
00:03:01,709 –> 00:03:04,110
میخواهد یک دسته از ویجتها را دریافت کند که آن را به آن اضافه کنیم و به
76
00:03:04,110 –> 00:03:05,370
این ترتیب میخواهیم ایجاد کنیم.
77
00:03:05,370 –> 00:03:07,020
برنامه گرافیکی، بنابراین ما میخواهیم کار را انجام
78
00:03:07,020 –> 00:03:10,500
دهیم خیلی ساده
79
00:03:10,500 –> 00:03:14,040
است من فکر می کنم یک برچسب متنی اضافه می کنم و خواهیم دید که چطور پیش می
80
00:03:14,040 –> 00:03:19,709
رود، بنابراین می خواهم بگویم برچسب یک
81
00:03:19,709 –> 00:03:22,860
برابر است و سپس برچسب و می خواهم به
82
00:03:22,860 –> 00:03:24,720
آن بگویم که کجا می خواهم برو من میخواهم
83
00:03:24,720 –> 00:03:28,019
به این پنجره اصلی متصل شود و
84
00:03:28,019 –> 00:03:29,820
فقط متن آن را
85
00:03:29,820 –> 00:03:34,470
به آن میگویم تا سلام کند و سپس باید
86
00:03:34,470 –> 00:03:36,890
کاری را انجام دهم که به آن بستهبندی برچسب
87
00:03:36,890 –> 00:03:41,550
ضروری نیست، اما خوب است و من
88
00:03:41,550 –> 00:03:45,030
میخواهم اصلی را انجام دهم، بنابراین اجازه دهید چند چیز را به شما نشان دهم،
89
00:03:45,030 –> 00:03:46,830
بنابراین ما این کار را از Tech
90
00:03:46,830 –> 00:03:51,180
انجام دادیم، اگر فقط به سرطان وارد کردیم،
91
00:03:51,180 –> 00:03:53,310
این از آن
92
00:03:53,310 –> 00:03:56,280
کتابخانه TK میآید، بنابراین باید بگوییم مانند Doc
93
00:03:56,280 –> 00:03:59,340
enter TK، به همین دلیل ستاره را وارد کردیم. بنابراین
94
00:03:59,340 –> 00:04:01,980
ما همه این
95
00:04:01,980 –> 00:04:04,769
توابع و موارد ماژول را به فضای نام فعلی خود وارد کردیم،
96
00:04:04,769 –> 00:04:06,660
بنابراین لازم نیست
97
00:04:06,660 –> 00:04:08,910
نگران آن باشیم، بنابراین این TK
98
00:04:08,910 –> 00:04:11,820
از برچسب آنها است و از حلقه اصلی آنها
99
00:04:11,820 –> 00:04:13,769
است، همه آنها از دو نوع کوچکتر می آیند، خوب
100
00:04:13,769 –> 00:04:16,829
اجازه دهید این را اجرا کنیم و به شکل ظاهری آن نگاهی بیندازید،
101
00:04:16,829 –> 00:04:18,930
پس ذخیره کنید و اجرا کنید و
102
00:04:18,930 –> 00:04:21,000
کمی از صفحه نمایش فاصله دارد، پس
103
00:04:21,000 –> 00:04:22,019
104
00:04:22,019 –> 00:04:26,910
اجازه دهید تمرین کنم در اینجا بسیار خوب، من باید
105
00:04:26,910 –> 00:04:28,380
پنجره را باز کنم زیرا نمی توانم
106
00:04:28,380 –> 00:04:31,710
آن را بگیرم، بنابراین ظاهر آن بسیار
107
00:04:31,710 –> 00:04:33,599
کوچکتر به نظر می رسد مانند این و این
108
00:04:33,599 –> 00:04:35,130
نتیجه بسته بندی پنجره است،
109
00:04:35,130 –> 00:04:37,440
بنابراین آنچه در اینجا به دست آورده ایم فقط یک
110
00:04:37,440 –> 00:04:40,860
پنجره ساده است و این برچسب را دارد.
111
00:04:40,860 –> 00:04:43,080
این متن برچسب است hello world
112
00:04:43,080 –> 00:04:45,120
و روی صفحه کشیده شده است، بسیار
113
00:04:45,120 –> 00:04:50,280
خوب است، ما می توانیم کارهای دیگری انجام دهیم،
114
00:04:50,280 –> 00:04:51,720
فقط برای اینکه بدانید آب های مختلفی
115
00:04:51,720 –> 00:04:53,580
به نام مدیران طرح وجود دارد که به شما کمک می کند
116
00:04:53,580 –> 00:04:56,009
محتوا را در ویندوز چیدمان کنید تا
117
00:04:56,009 –> 00:04:58,759
وقتی اندازه آن به صورت پویا تغییر اندازه داد.
118
00:04:58,759 –> 00:05:00,810
همه عناصر را در
119
00:05:00,810 –> 00:05:03,780
پنجره جابهجا میکند و ما فقط از عنصر
120
00:05:03,780 –> 00:05:05,639
پیشفرض برای شروع استفاده میکنیم، همچنین یک مدیر طرحبندی شبکهای وجود
121
00:05:05,639 –> 00:05:07,259
دارد که در آن همه چیز به
122
00:05:07,259 –> 00:05:09,539
نوعی در یک شبکه قرار دارد و شما مشخص میکنید که در چه
123
00:05:09,539 –> 00:05:10,979
بخشی از شبکه قرار دارد و
124
00:05:10,979 –> 00:05:12,240
انواع چیزها وجود دارد. شما انجام می دهید
125
00:05:12,240 –> 00:05:14,970
عمق زیادی برای این وجود دارد و ما دقیقاً مثل من هستیم که گفتم
126
00:05:14,970 –> 00:05:18,330
به چیزهای ساده پایبند باشید، بنابراین
127
00:05:18,330 –> 00:05:20,340
اکنون سعی می کنم
128
00:05:20,340 –> 00:05:22,889
به جای برچسب مانند یک دکمه اینجا یک دکمه اضافه
129
00:05:22,889 –> 00:05:25,680
کنم و به دکمه یک دکمه اضافه کنم. عمل
130
00:05:25,680 –> 00:05:27,509
برای انجام پس من این کار را با
131
00:05:27,509 –> 00:05:30,300
استفاده از آرگومان فرمان در اینجا انجام می دهم و
132
00:05:30,300 –> 00:05:32,669
فقط می خواهم بگویم دستور
133
00:05:32,669 –> 00:05:35,729
hello است، بنابراین در اینجا
134
00:05:35,729 –> 00:05:37,800
به تابعی اشاره می کند که هنوز
135
00:05:37,800 –> 00:05:38,940
نوشته نشده است، بنابراین من. من تابع من را تعریف می کنم
136
00:05:38,940 –> 00:05:42,960
تعریف hello و تمام کاری که این
137
00:05:42,960 –> 00:05:44,370
تابع قرار است انجام دهد چاپ کردن
138
00:05:44,370 –> 00:05:47,009
hello است.
139
00:05:47,009 –> 00:05:49,080
140
00:05:49,080 –> 00:05:50,909
141
00:05:50,909 –> 00:05:53,280
142
00:05:53,280 –> 00:05:55,560
این حالا به جای یک برچسب،
143
00:05:55,560 –> 00:05:58,229
یک دکمه خواهد بود و دوباره باید
144
00:05:58,229 –> 00:05:59,639
پنجره را باز کنم تا بتوانم
145
00:05:59,639 –> 00:06:01,650
آن را جابجا کنم، اما کوچکتر شروع می شود و
146
00:06:01,650 –> 00:06:05,219
وقتی روی این دکمه کلیک می کنم، اینجا
147
00:06:05,219 –> 00:06:05,729
در پوسته
148
00:06:05,729 –> 00:06:08,009
هستم. رسیدن به سلام، بنابراین من روی
149
00:06:08,009 –> 00:06:10,979
دکمه ای که این تابع را فراخوانی می کند،
150
00:06:10,979 –> 00:06:12,500
151
00:06:12,500 –> 00:06:15,590
کلیک می کنم.
152
00:06:15,590 –> 00:06:21,210
153
00:06:21,210 –> 00:06:22,710
154
00:06:22,710 –> 00:06:25,259
سر من
155
00:06:25,259 –> 00:06:27,990
اینجاست که به آن فکر می کنم این است که بتوانیم
156
00:06:27,990 –> 00:06:30,599
آن را خوب بسازیم از جابهجایی هفتگی چگونه
157
00:06:30,599 –> 00:06:32,550
این کار را انجام میدهم، بنابراین
158
00:06:32,550 –> 00:06:34,470
بهجای اینکه واقعاً دیگر این برچسب
159
00:06:34,470 –> 00:06:37,050
را یکی بنامم، آن را بیف یا دکمه
160
00:06:37,050 –> 00:06:40,050
میگذارم و میگویم نقطه B و
161
00:06:40,050 –> 00:06:41,729
تصمیم میگیرم که در پنجره کجا برود
162
00:06:41,729 –> 00:06:43,530
برخی می گویند موقعیت x نسبی شما
163
00:06:43,530 –> 00:06:44,940
لازم نیست این را دنبال کنید دقیقاً
164
00:06:44,940 –> 00:06:46,470
مانند یک مثال سرگرم کننده است که من فقط
165
00:06:46,470 –> 00:06:49,289
به موقعیت نسبی Y نقطه
166
00:06:49,289 –> 00:06:52,199
پنج فکر کردم، آن را به
167
00:06:52,199 –> 00:06:56,009
مرکز پنجره متصل کرده ام و به جای
168
00:06:56,009 –> 00:06:59,400
hello I ببین این پرش نامیده می شود و
169
00:06:59,400 –> 00:07:02,909
من آن را به صورت تصادفی انجام می دهم و به نوعی
170
00:07:02,909 –> 00:07:04,919
توضیح می دهم که کاری که من در اینجا انجام می دهم یک
171
00:07:04,919 –> 00:07:07,860
ستاره دوم وارداتی C است و اگر می خواهید اینجا را دنبال کنید
172
00:07:07,860 –> 00:07:09,599
و سپس
173
00:07:09,599 –> 00:07:11,550
به جای این پرش و آنچه که هستم می نامم این کار این است که
174
00:07:11,550 –> 00:07:13,169
هر بار که روی دکمه کلیک میکنید،
175
00:07:13,169 –> 00:07:15,720
من بهطور تصادفی جای آن را تغییر میدهم، این
176
00:07:15,720 –> 00:07:18,569
X نسبی و Y نسبی است که مقداری
177
00:07:18,569 –> 00:07:23,009
بین 0 و 1 است که میگوید اگر
178
00:07:23,009 –> 00:07:25,349
یک صد در صد مانند تمام راه
179
00:07:25,349 –> 00:07:26,759
در پایین یا تمام راه باشد. به سمت راست و
180
00:07:26,759 –> 00:07:30,900
سپس این نیمه راه خواهد بود، بنابراین
181
00:07:30,900 –> 00:07:32,340
دکمه B در حال حاضر باید از داخل شروع شود
182
00:07:32,340 –> 00:07:33,990
وسط پنجره کاری که من می خواهم
183
00:07:33,990 –> 00:07:37,740
انجام دهم این است که به طور تصادفی آن را قرار دهم بنابراین می گویم B آن
184
00:07:37,740 –> 00:07:41,639
مکان و سپس می روم نسبی
185
00:07:41,639 –> 00:07:44,340
X تصادفی خواهد بود زیرا من
186
00:07:44,340 –> 00:07:46,590
همه چیز را از تصادفی وارد کردم و این
187
00:07:46,590 –> 00:07:48,870
یک مقدار ممیز شناور بین 0 و 1
188
00:07:48,870 –> 00:07:52,789
و Y نسبی نیز تصادفی است و
189
00:07:52,789 –> 00:08:00,479
بیایید سعی کنیم ببینیم بنابراین ایده من در اینجا
190
00:08:00,479 –> 00:08:02,069
کار می کند اگر این کار می کند وقتی روی این کلیک می کنم
191
00:08:02,069 –> 00:08:03,539
باید دور پنجره بپرد و در واقع
192
00:08:03,539 –> 00:08:05,819
این کار را انجام می دهد بنابراین ممکن است به
193
00:08:05,819 –> 00:08:07,650
فکر ساختن یک بازی باشید.
194
00:08:07,650 –> 00:08:10,740
یه جورایی یه چیز کوچولو تمیز و بدون
195
00:08:10,740 –> 00:08:15,380
کد خیلی خوبه پس جالبه
196
00:08:15,380 –> 00:08:19,979
حالا بیایید یه مثال دیگه
197
00:08:19,979 –> 00:08:24,630
ببینم ببینم میتونم یه ثانیه اینجا
198
00:08:24,630 –> 00:08:27,090
بکشمش، فقط یه کد رو کپی
199
00:08:27,090 –> 00:08:29,449
200
00:08:32,169 –> 00:08:33,549
میکنم و م