به نام خدا
سلام بر همه عزیزان، امروز میخوایم در پای کیوت، باتن یا دکمه ها رو کار کنیم، خب دوستان اول از هر چیز بگم، ما تو پای کیوت به دکمه نمیگیم باتن میگیم پوش باتن یا pushbutton! این دکمه ها از نظر رنگ نوشته و بک گراند، عرض، طول، تعداد توابعی که با زدنش اجرا میشن و... هیچ گونه محدودیتی ندارن، میتونید بگین با زدنش دو هزار تا تابع اجرا شه، میتونید فونت رنگ و بک گراندش رو تغییر بدین، میتونید هزاران کار دیگه انجام بدین، در نتیجه این یعنی که پای کیوت بسیار حرفه ای تر از tkinter هست، خب، مثل همیشه باید الگوریتممون رو بیاریم تو کد هامون :
import sys
from PyQt5.QtWidgets import QApplication , QWidget
class vrs32(QWidget):
def __init__(self):
super().__init__()
self.setUI()
def setUI(self):
self.setGeometry(300,200,200,300)
self.setWindowTitle("virus32")
self.show()
app = QApplication(sys.argv)
a = vrs32()
sys.exit(app.exec_())
خب، ما برای ساخت یک پوش باتن باید کلاسش رو در کتابخونه فراخوانی کنیم که در خط دوم از ماژول ویجت باید فراخوانی کرد که یعنی بعد از فراخوانی کلاس ها باید کلمه QPushButton رو بنویسیم، به بزرگی و کوچیکی حروف دقت کنید :
from PyQt5.QtWidgets import QApplication , QWidget , QPushButton
به همین راحتی، خب ما برای ساخت دکمه مون باید در کلاس setUI که گفتم همه تنظیمات صفحه روش اعمال میشه بیایم، خب ما برای ساختش باید تابع QPushButton استفاده کرده و حتما درون یک متغیر بریزیم و بهش دو تا ارگومان بدیم:
btn = QPushButton()
خب، همونطور که گفتم باید دو تا آرگومان بهش بدیم،آرگومان اول رو باید بهش متنی که میخواین روش نمایش داده بشه رو بدید.
آرگومان دوم رو بهش self میدیم، این به این معنی هست محل نمایشش باید پنجره مون باشه.
خب به این شکل در اومد :
btn = QPushButton("Virus32" , self)
به همین راحتی، خب اجرا کنید
خب ما میخوایم که دکمه مون در جای خاصی از صفحه قرار بگیره، باید از تابع move استفاده کنیم، توجه کنید شما از این تابع برای هر ویجتی که دوس داشتین، دکمه نوشته تکست باکس و... میتونید استفاده کنید، خب ما باید اسم دکمه و سپس از تابع استفاده کنیم :
btn.move()
خب این تابع از ما دو تا آرگومان میگیره که هر دو محل نمایش هستن، ارگومان اول فاصله ی دکمه از سمت چپ پنجره به صورت پیکسل و دومی از سمت بالا، توجه کنید که پیکسل هایی رو بدید که مناسب پنجره تونه، زیاد بزنید از پنجره خارج میشه، خب به صورت زیر شد :
btn.move(100 , 200)
به همین راحتی! خب من میخوام که وقتی دکمه ام کلیک شد یه کاری رو انجام بده، کار خاصی لازم نیست، اول تابع دستوراتتون رو بنویسید، سپس از تابع clicked تابع connect رو فراخوانی میکنیم و ارگومانش رو اسم تابعمون میدیم :
def vrs32():
print("Virus32.blog.ir")
btn.clicked.connect(vrs32)
به همین راحتی! خب تمرین کنید و در این مبحث هم حرفه ای شید تا بریم سراغ نوشته ها. اینم سورس نهایی :
import sys
from PyQt5.QtWidgets import QApplication , QWidget ,QPushButton
class vrs32(QWidget):
def __init__(self):
super().__init__()
self.setUI()
def setUI(self):
self.setGeometry(300,200,200,300)
self.setWindowTitle("virus32")
def vrs32():
print("virus32.blog.ir")
btn = QPushButton("Virus32" , self)
btn.move(100 , 200)
btn.clicked.connect(vrs32)
self.show()
app = QApplication(sys.argv)
a = vrs32()
sys.exit(app.exec_())
با تشکر از شما عزیزان، اعم از آقایان رضا همدانی، احمد ذوقی، و تمامی عزیزانی که ما را در ساختن این پست همراهی کرده اند.
ویروس 32
سلام باز عالی مثل همیشه
یه سوال : چجوری میتونیم کتابخونه های معتبر پایتون رو با اموزش کاملشون رو پیدا کنم؟