انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: sahama در 23 شهریور 1388، 11:13 قظ
-
سلام به همه
گفته شده که یاد گیری بر هر کسی واجبه و از طرفی کسی که چیزی رو یاد گرفت باید زکاتش رو بده :)
حالا ما (من بعلاوه هر کسی که دوست داره) می خوایم PyQt یاد بگیریم هرکسی هست یا علی
جلسه اول:
در این نوشتار مبنا را بر این گذاردیم تا که خواننده با زبان برنامه سازی پایتون به صورت مقدماتی آشناست همچنین مبنا بر آن است که وی محیط های نگاره ای(گرافیکی GUI) را باز می شناسد و با تفاوت اجزای گرافیکی همچون دکمه ها، رادیو باتوم ها، چک باکس ها، تکس ادیت ها و … آشناست (به یاد lomion)
این رو به عنوان ساده ترین برنامه ممکن در نظر بگیرید
#!/usr/bin/env python
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
hello = QtGui.QPushButton("Hello world!")
hello.resize(100, 30)
hello.show()
sys.exit(app.exec_())
خوب بذارین ببینیم چی داریم:خط اول که مشخصه چیه
خط دوم هم نیاز به توضیح نداره
توی خط سوم از مجموعه PyQt4 قسمت QtGui رو به برنامه وارد کردیم که بیشتر اجزای گرافیکی توی همین مجموعه هستند البته تا اونجا که من می دونم همه اونها همین جا باید باشن ولی چون اطلاع کاملی ندارم چیزی نمی گم
هر برنامه PyQt نیاز به یک شی از نوع QtGui.QApplication داره که در واقع همون برنامه ماست در خط چهارم چنین شی رو با آرگومانهای ورودی به خود برنامه ساختیم
تو خط پنجم یه دکمه ساختیم به نام hello که نوشته روی اون Hello world هست
حالا یه سری خصوصیات به دکمه می دیم از جمله اندازه و مهمتر از اون خصوصیت نمایشیه که می گیم این دکمه قابل نمایش باشه یعنی مخفی نباشه
و در پایان هم برنامه رو با خروجی app که قبلا ساختیم و ارسال دادن اون به خروجی برنامه می بندیم.
یه فرم با یه دکمه با ابعادی که مشخص شده و نوشته ای که توی برنامه برای اون در نظر گرفته شده که هیچ کاری هم انجام نمی ده!
حالا می خواهیم یه تابع ساده به این دکمه مرتبط کنیم چطوری؟؟ آها!! اینجاست
توی کتابخونه qt دو تا دونه مفهوم داریم که خیلی مهم هستند:
۱-signal
۲-slot
البته چیزای دیگه ای هم مثل event ها هستند ولی اونا رو بعد توضیح می دم
حالا اگر بخوام توضیح بدم اینطوری می شه : signal مثل یه هورمونه که تو بدن ترشح می شه این هورمون رو بلافاصله خون به تمام قسمت های بدن می رسونه ولی حالا چه اتفاقی می افته ؟؟ هیچی چون گیرنده ای برای این هورمون وجود نداره و مثل این می مونه که اصلا هورمونی ترشح نشده!!
خوب که چی؟ آهان!! اینجاست : ما بایستی گیرنده هایی برای این هورمون طراحی کنیم یا گیرنده هایی رو به این هورمون متصل کنیم که این گیرنده ها همون slot هستند
جالب شد نه؟؟!!
حالا برگردیم به برنامه
#!/usr/bin/env python
import sys
from PyQt4 import QtGui, QtCore
app = QtGui.QApplication(sys.argv)
hello = QtGui.QPushButton("Hello world!")
hello.resize(100, 30)
hello.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
QtCore.QObject.connect(hello, QtCore.SIGNAL("clicked()"), app,
QtCore.SLOT("quit()"))
hello.show()
sys.exit(app.exec_())
قسمت های تکراری رو دیگه توضیح نمی دیم و می مونه بقیه
ما از pyqt قسمت qtcore رو هم به برنامه اصافه کردیم که signal ها و slot ها اونجا تعریف می شن . البته توجه داشته باشید که تابع connect رو widget ها هم (البته تا اونجا که من می دونم) دارن و شما می تونستید برای این تابع از دکمه استفاده کنید یعنی
hello.connect(hello, QtCore.SIGNAL("clicked()"), app, QtCore.SLOT("quit()"))
البته قسمت دیگه ای هم وجود داره که می شه گفت اضافه هست البته توی برنامه های کوچیک که به مرور باهاشون آشنا می شید
حالا چی داریم؟ ما با این کار اون گیرنده هورمون توی بدن رو مشخص کردیم و اصطلاحا اونها رو به هم متصل کردیم
چطوری؟؟
گفتیم که یکی از غدد بدن هست به نام hello که این غده یه هورمون ترشح می کنه به نام clicked توجه کنید که ممکنه خیلی از غدد بدن این هورمون رو ترشح کنن ولی ما بایستی فقط به هورمونی که از این غده ترشح می شه جواب بدیم
توی آرگومان دوم نوع هورمون رو مشخص کردیم که گفته شد
توی آرگومان سوم گفتیم که گیرنده هورمون کیه که همون app هست. البته این یه خورده اخطیاریه توجه کنید که فقط یه خورده ;D
توی آرگمان چهارم هم عملی که در قبال گرفتن این پیام انجام می شه رو توضیح دادیم که همون خروجه
توی یه خط هم نوی قلم رو مشخص کردیم که نیاز به توضیح نداره
فکر نمی کنم شما بخواین برنامه ای بسازید که فقط یه دکمه توش باشه پس لازمه که طرح بندی ها رو یاد بگیریم چطوری؟
می گم الان اینو داشته باشید:
#!/usr/bin/env python
import sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.resize(200, 120)
hello = QtGui.QPushButton("hello word!", window)
hello.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold))
hello.setGeometry(10, 40, 180, 40)
QtCore.QObject.connect(hello, QtCore.SIGNAL("clicked()"),
app, QtCore.SLOT("quit()"))
window.show()
sys.exit(app.exec_())
این برنامه اولین قدم بذای طرح بندیه . چطوری حالا می گم:
ما اینجا بر خلاف قبل که دکه وابسطه به هیج کجا نبود یه ویدگت ساختیم به نام window و دکمه رو به اون متصل کردیم
حالا با نمایش window کل اجزای متصل به اون هم نمایش داده می شه و کارایی از این قبیل، تنها چیزی که شاید نیاز به توضیح داشته باشه اینکه که موقع ساخت دکمه اون رو به پنجره اصلی یعنی window متصل کردیم که البته این یه کم غیر معموله و بیشتر با استفاده از توابع layout این کار رو انجام می دن که توضیح می دم
از همینجا تاکید می کنم که توی هر برنامه سازی گرافیکی layout نقش بسیار مهمی داره در نتیجه من تذکر می دم که هر چیزی رو که دوست داشتید سرسری بگیرید layout رو سرسری نگیرید و اون رو به نحو شایسته یاد بگیرید. گرچه با QtDesigner می تونید طرح بندی کنید ولی من خودم خوشم نیومد (کد بی مصرف زیادی تولید میکنه) گرچه آینده اونو هم توضیح می دم
پایان جلسه اول
بعدا در مورد مجوز این نوشته هم فکر می کنم الان بی مجوزه :o
تا یادم نرفته با نظرات مفید خودتون ما رو به نوشتن دلگرم فرمایید (شد مثل وبلاگا)
-
سلام
خیلی عالی بود. فقط یک سوال
ببخشید اگر زیادی مبتدیه و نمیتونم سوال رو هم خوب شرح بدم (چون بلد نیستم)
mono و dotnet و البته بعضی IDE های دیگه این قابلیت رو دارند که راهنماییتون کنن. مثلا وقتی مینویسی btnHello و دکمه دات (.) رو میزنی بالفاصله لیستی از پراپرتی های اون شی رو برات میاره و یا وقتی یک تابع رو تایپ میکنی بلا فاصله بعد از اینکه پرانتز رو باز میکنی یک پیغام بهت میده و تمام شاکال مجاز برای اون تابع رو نشونت میده
این خیلی راهنمایی و کمک بزرگیه
اول اینکه جلوی غلط های املایی یا کوچک و بزرگ نوشتن دستورات رو میگیره و دوم ککه خیلی هم مهمتره اینه که برای ما تازه کارا که تمام دستور ها رو بلد نیستم میشه کمک و راهنمابیی گرفت و توابع موجود در یک کتابخونه رو همنجا در زمان کد (و نه از help) دید
سوال : آیا IDE ای در لینوکس وجود داره که این قابلیت رو در باره زبون هایی مثل پیتون و پرل و سی یا سی پلاس پلاس داشته باشه؟؟؟؟
اگه قرار باشه طبق آموزش شما محیط گرافیکی رو کد بزنیم و از qtdesigner به همون دلیلی که گفتید(ایجاد کد های بد و زیادی) صرف نظر کنیم به همچین IDE ای نیاز واجب داریم
مخصوصا در اول کار
بازم ممنون
حتما ادامه بدید
لطفا یکی از دوستان هم آموزش gtk رو شروع کنه
-
چسبید! امیدوارم که ادامه پیدا کنه :)
-
چسبید! امیدوارم که ادامه پیدا کنه :)
علی آقا شما لطف دارین :)
سلام
خیلی عالی بود. فقط یک سوال
ببخشید اگر زیادی مبتدیه و نمیتونم سوال رو هم خوب شرح بدم (چون بلد نیستم)
mono و dotnet و البته بعضی IDE های دیگه این قابلیت رو دارند که راهنماییتون کنن. مثلا وقتی مینویسی btnHello و دکمه دات (.) رو میزنی بالفاصله لیستی از پراپرتی های اون شی رو برات میاره و یا وقتی یک تابع رو تایپ میکنی بلا فاصله بعد از اینکه پرانتز رو باز میکنی یک پیغام بهت میده و تمام شاکال مجاز برای اون تابع رو نشونت میده
این خیلی راهنمایی و کمک بزرگیه
اول اینکه جلوی غلط های املایی یا کوچک و بزرگ نوشتن دستورات رو میگیره و دوم ککه خیلی هم مهمتره اینه که برای ما تازه کارا که تمام دستور ها رو بلد نیستم میشه کمک و راهنمابیی گرفت و توابع موجود در یک کتابخونه رو همنجا در زمان کد (و نه از help) دید
سوال : آیا IDE ای در لینوکس وجود داره که این قابلیت رو در باره زبون هایی مثل پیتون و پرل و سی یا سی پلاس پلاس داشته باشه؟؟؟؟
اگه قرار باشه طبق آموزش شما محیط گرافیکی رو کد بزنیم و از qtdesigner به همون دلیلی که گفتید(ایجاد کد های بد و زیادی) صرف نظر کنیم به همچین IDE ای نیاز واجب داریم
مخصوصا در اول کار
بازم ممنون
حتما ادامه بدید
لطفا یکی از دوستان هم آموزش gtk رو شروع کنه
خیلی از ادیتور ها هستند که این کار رو توی لینوکس انجام می دن به این کار autocomplete می گن
مثلا شما می تونید pydev رو روی eclipse نصب کنید :)
-
خیلی از ادیتور ها هستند که این کار رو توی لینوکس انجام می دن به این کار autocomplete می گن
مثلا شما می تونید pydev رو روی eclipse نصب کنید :)
شرمنده
من eclips رو رو سیستمم دارم (از خود مخازن ورژن ۳.۲) اما همچین پکیجی تو synaptic نیست!!!
البته cdt هم توی synaptic نیست! مخزن خاصی رو باید اضافه کنم برای نصب اینا؟
-
http://www.google.com/search?q=pydev+download&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fa:official&client=firefox-a
-
خیلی از ادیتور ها هستند که این کار رو توی لینوکس انجام می دن به این کار autocomplete می گن
مثلا شما می تونید pydev رو روی eclipse نصب کنید :)
شرمنده
من eclips رو رو سیستمم دارم (از خود مخازن ورژن ۳.۲) اما همچین پکیجی تو synaptic نیست!!!
البته cdt هم توی synaptic نیست! مخزن خاصی رو باید اضافه کنم برای نصب اینا؟
http://www.google.com/search?q=pydev+download&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fa:official&client=firefox-a
سلام عزیز
ببخشید که زود تر نیومدم
من مشکل رو خودم حل کرده بودم
پکیج مورد نظر را با apt-cache search جستجو و پیدا کردم و نصب کردم
مشکل من با synaptic بود که همچنان هم حل نشده!اگه برام مشکلی ایجاد کرد حتما تاپیک مجزا برای پیگیری این مشکل خواهم زد!
دو نکته:
۱-خیلی خیلی از اینکه پیگیری کردید ممنون
۲-قرار بود با هم pyqt یاد بگیریم پس چرا شما فقط قسمت اول آموزش رو قرار دادید؟ منتظریم ها...... لطفا این کار خیر - نیک - پسندیده و عالی رو ادامه بدید
-
برای نت بینز هم این لینک که دادین کار میکنه؟؟؟
-
ببخشین یه سوالی ::
مثلا تو c++ وقتی بخوای یه برنامه بنویسی اونو داخل یک فایل .cpp ذخیره می کنی
بعد واسه کامپیلش می زنی g++ a.cpp بعد کامپیل میشه و فایل اجرایی هم ساخته میشه ...
تو PyQt چه شکلی ؟؟!! اصلا کامپایل به اون معنا هست ؟!؟!
-
اقا C# یاد بدین
ایا اوبونتو IDE برای C# داره؟
-
ایا اوبونتو IDE برای C# داره؟
geany
-
اقا C# یاد بدین
ایا اوبونتو IDE برای C# داره؟
mono
البته اگه به Microsoft Visual Studio عادت کرده باشی خیلی برات سخت میشه که بیای سراغ اینا
هرچند که به نظر من خیلی بهتر از VS هستند(اما عادت رو نمیشه کاریش کرد که ;) میشه؟ )
-
اقا C# یاد بدین
ایا اوبونتو IDE برای C# داره؟
آقا #C رو ولش کن! برو پایتون یا جاوا یا ++C یاد بگیر! :D
-
شرمنده که سوالم به pyqt ربط نداره و لی به qt ربط داره
چجوری میشه یه شی از یک کلاسی که خودمون ایجاد کردیم رو توی فایل ذخیره کنیم و از روی فایل بخونیمش
مثلا در ادامه کد زیر باید چی بنویسیم؟
class myClass
{
public:
QString a;
int b;
myClass(QString c, int d)
{
a=c;
b=d;
}
}
......
int main(...)
{
QFile file(...)
file.open(...)
file.write???????
از راهنماییتون ممنون
-
به این کار میگن سریالیزه کردن اشیا توی stream
خیلی از فریم ورکها ازش پشتیبانی میکنن ولی بهتره خودت بنویسی. استفاده از اونها مستلزم استفاده از RTTI هستش و این اصلا ایده جالبی نیست (مثلا گوگل کلا استفاده از RTTI رو برای استیل خودش ممنوع کرده : http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Run-Time_Type_Information__RTTI_#Run-Time_Type_Information__RTTI_ البته واسه ایران نمایش داده نمیشه :))
یه متد اضافه کن و توی اون متد خودت هر کدوم از عناصر رو به ترتیب توی Stream بنویس، بعد هم یه متد دیگه بنویس به همون ترتیب اینبار از فایل بخون. این روشیه که خیلی بهتره تا کدی که خودش یه کلاس رو آنالیز کنه و ذخیره کنه.
-
Stream که میگی چیه؟ لطفا همین مثال خودم رو تکمیل کن
راستی این که یه تاپیک برای pyqt زدید همچین خوب به نظر نمیرسه! آخه یعنی چی؟ منظور از این تاپیک معلوم نیست. اگه منظور آموزش هست، پس کتاب به چه دردی میخوره؟ من خودم ۲ هفته است پایتون رو یاد گرفتم و میخوام pyqt کار کنم
-
stream در حالت کلی همه چیزه :) طبق یه فلسفه قدیمی (فلسفه Unix ) همه چیز فایله. -فلسفه ای که Linux هم ازش پیروی میکنه ولی Windows تو خیلی موارد نه - مثلا Console یه فایله. سخت افزارها فایلن. تو زبان C++ برای اینکه این قضیه با فایل فیزیکی قاطی نشه،در حالت کلی به اینها میگه stream و بعد فایلهای فیزیکی رو میگه فایل که یه شاخه از stream ها هستن.
من با QT میونم خوب نیست. ولی با C++ استاندارد مینویسم. میخوام ساده باشه، و به همین دلیل یه کم مشکل داره کار(با ایت اپراتور خوندن string زیاد جالب نیست، مثلا اگه رشته فاصله توش باشه وقت نوشتن درست نوشته میشه ولی وقت خوندن یه جورایی مشکل داریم یا مثلا اگه رشته خط جدید داشته باشه، راهش اینه که وقت نوشت اندازه رشته رو هم بنویسی و بعد وقت خوندن به همون اندازه بخونی. منتها یه کم شلوغ میشد بیخیالش شدم. تنبلیه و هزار دردسر!):
#include <iostream>
#include <string>
#include <fstream>
class MyClass{
private :
std::string str;
int num;
public :
MyClass(std::string s,int i){
str=s;
num=i;
}
~MyClass(){
}
void show_data(){
std::cout<< str << std::endl << num;
}
void save_to_stream(std::iostream *out){
*out<< str << std::endl << num << std::endl;
}
void load_from_stream(std::iostream *in){
*in >> str >> num;
}
};
int main(int argc, char** argv)
{
std::fstream out("/tmp/outfile",std::fstream::out);
MyClass test("Test",10);
test.save_to_stream(&out);
out.close();
/*
* Your code...
*
*
*/
std::fstream in("/tmp/outfile",std::fstream::in);
MyClass test2("",0);
test2.load_from_stream(&in);
in.close();
test2.show_data();
return 0;
}
اگه دقت کنی، دو تا متد save_to_stream و load_from_stream کاملا ساده یه iostream میگیرن و توی اون مینویسن. ولی من بهشون fstream پاس دادم. علت اینه که stream خیلی شاخه ها داره و فقط یه شاخه اون فایله. این دو متد میتونن کلاس منو تو هر کلاسی از فرزندان iostream ذخیره کنن.
-
fzerorubigd جان ممنونم \\:D/
حالا یه سوال دیگه: من یه دیالوگ طراحی کردم یکمی دراز شده ;D چجوری از QScrollBar برای رفع مشکلم استفاده کنم؟ خیلی توی اینترنت گشتم، نفهمیدم. درضمن اگه میشه با استفاده از دیزاینر توضیح بدید
پیش پیش ممنون
-
1- شاید بد نباشه سوال رو مستقل بپرسید.
۲- من اصلا میونه ای با QT ندارم. wx رو ترجیح میدم :) در هر صورت اگه جداگانه بپرسی اهلش مطمئنا سوالتو بهتر میبینن و امکان جواب گرفتنت هم خیلی بیشتره.
-
اینجا مریوط به pyqt دیگه نه؟
پس سوال:
به این کد نگاه کنید. اگه خطی که کامنت شده رو غیر کامنت کنم و خطی که آخرش نوشتم chera?? را کامنت کنم یه ارور مسخره میگیره . در واقع لیبل رو نمیشناسه. واقعا چرا اینجوریه؟
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
import urllib.request
class tranc( QDialog ):
def __init__( self, parent = None ):
super( tranc, self ).__init__( parent )
self.getFile()
# self.labelDate = QLabel( 'Exchange Rates Date: Disconnect' )
self.firstCombo = QComboBox()
self.firstCombo.addItems( list( self.myDic.keys() ) )
self.spinRate = QDoubleSpinBox()
self.secondCombo = QComboBox()
self.secondCombo.addItems( list( self.myDic.keys() ) )
self.labelResult = QLabel()
self.layout = QGridLayout()
self.layout.addWidget( self.labelDate, 0, 0 )
self.layout.addWidget( self.firstCombo, 1, 0 )
self.layout.addWidget( self.spinRate, 1, 1 )
self.layout.addWidget( self.secondCombo, 2, 0 )
self.layout.addWidget( self.labelResult, 2, 1 )
self.setLayout( self.layout )
self.connect( self.firstCombo, SIGNAL( 'currentIndexChanged(int)' ), self.updateUi )
self.connect( self.spinRate, SIGNAL( 'valueChanged(double)' ), self.updateUi )
self.connect( self.secondCombo, SIGNAL( 'currentIndexChanged(int)' ), self.updateUi )
def updateUi( self ):
az = self.firstCombo.currentText()
be = self.secondCombo.currentText()
meghdar = self.spinRate.value()
self.labelResult.setText( "%s" % ( ( self.myDic[be] * meghdar ) / self.myDic[az] ) )
def getFile( self ):
temp = urllib.request.urlretrieve( "http://www.bankofcanada.ca/en/markets/csv/exchange_eng.csv" )
myFile = open( temp[0], 'r' )
self.myDic = dict()
self.labelDate = QLabel( 'Exchange Rates Date: Disconnect' )#Chera?????
for line in myFile:
if not line or line.startswith( ( '#', 'Closing ' ) ):
continue
else:
myParts = line.split( ',' )
if myParts[0].startswith( 'Date' ):
pass
self.labelDate.setText( "Exchange Rates Date: %s" % myParts[-1] )
else:
self.myDic[str( myParts[0] )] = float( myParts[-1] )
app = QApplication( sys.argv )
wid = tranc()
wid.show()
app.exec_()
ممنون
-
من برای فارسی نویسی از این چند کد زیر استفاده کردم :
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8"))
QTextCodec.setCodecForCStrings(QTextCodec.codecForName("UTF-8"))
-
برنامه های نوشته شده با QT در Gnome هم اجرا میشه؟
-
بله اجرا میشند.
-
من اموزش سی شارپ رو دیدم خیلی جاب هست که تو اینترنت گیر میاد اگه بتونی کدهای سی شارپ رو با کدهای پی کیو تی عوض کنی و یک سری تغیرات دیگه در این کتاب که بصورت پی دی اف ایجاد کنی تبدیل میشه به اموزش پی کیو تی.
-
این یک قسمت از کد برنامه من هست:
def sbtnClicked(self):
self.statusbar.showMessage("در حال جستجو...")
print "Searching for Devices..."
devs=discover_devices()
if devs <> []:
self.rlist.clear()
for adev in devs:
ndev=lookup_name(adev)
self.rlist.insertItem(0,ndev+"\n"+adev)
print ndev+"\t"+adev
else:
self.statusbar.showMessage('.موردی یافت نشد')
خب با اجرای دستور زیر باید یه متن در نوار وضعیت نمایش داده بشه:
self.statusbar.showMessage("در حال جستجو...")
اما بلافاصله دستور بعد اجرا میشه و اون متن نمایش داده نمیشه و برنامه تا پایان عملیات به حالت هنگ میره:
devs=discover_devices()
حالا پیام نمایش داده میشه.
دستور بالا دستگاه های بلوتوث اطراف رو شناسایی میکنه و عملیات وقت گیری هم هست.
چه کار باید بکنم؟؟ ](*,)
-
ببینم تاپیک مرد؟؟ کسی نیست اینجا آموزش بده؟؟
-
تازه python یاد گرفته بودیم.....
میخواستیم Pyqt یاد بگیریم......
:'(
-
بنظرم بهتره همراه تصویر باشه این آموزش … :)
-
از دوستان کسانی که مایلند با کیوت آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir (http://qt-project.ir)
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir (http://qt-project.ir)
-
از دوستان کسانی که مایلند با کیوتی آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir (http://qt-project.ir)
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir (http://qt-project.ir)
باحاله!
-
از دوستان کسانی که مایلند با کیوتی آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir (http://qt-project.ir)
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir (http://qt-project.ir)
خب هست که در همین ابتدا Qt رو کیوت تایپ کنید نه کیوتی .
-
خیلی ممنون از آموزش هاتون این ها فایل پی دی اف فارسی و درست و حسابی دارند؟
-
از دوستان کسانی که مایلند با کیوت آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir (http://qt-project.ir)
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir (http://qt-project.ir)
خب هست که در همین ابتدا Qt رو کیوت تایپ کنید نه کیوتی .
8)
بله دوست عزیز فرمایش شما صحیح اصلاح شد! 8)
-
من یه مشکلی دارم تو نصب پایکیوت در لینوکس مینت 13
اولا که من یک فایل رو دانلود کردم با حجم 12 مگابایت به اسم PyQt-x11-gpl-snapshot-4.10.2-8a31588c88b1.tar نمیدونم درست دانلود کردم یا نه
اگه میشه یه لینک درست و حسابی بدید به من من تو نت گشتم اما همش بین سایت های سورس فورگت و سایت اصلی پایتون و پایکیوت و هزار تا سایت دیگه سرگردان بودم و نمی دونستم کدوم رو دانلود کنم
و دومین مورد هم اینکه چه جوری باید این نرم افزار رو نصب کنم ؟
ببخشید من خیلی مبتدی هستم لینوکس شیرینه ولی مثله ویندوز راحت نیست !
-
http://ubuntuforums.org/showthread.php?t=1777613
-
اگه بتونید همین آموزشهایی رو که میزارید در قالب فایل پی دی اف هم ارائه کنید خیلی عالی میشه
-
سوال در مورد پای کیوت رو میشه اینجا پرسید؟
-
سلام من توی ترمینال qt رو کامل از طریق ترمینال نصب کردم حدودآ حجمی که دانلود شد 200 مگ بود که نوشته بود 800 مگ فضا میگیره .
حالا وقتی تایپ می کنم : sudo apt-get install python-qt4 میگه که آخرنی ورژن نصب شده . ولی وقتی اولین برنامه ی همین تاپیک رو اجرا می کنم نمیشناسه :(
-
کسی نمیدونه ؟؟؟؟
-
از ترمینال اجرا کن ببین چه اروری می ده؟
-
از ترمینال اجرا کن ببین چه اروری می ده؟
چه دستوری بنویسم تو ترمینال ؟
-
اینو
python filename.py
-
اینو
python filename.py
یا اگه با پایتون 3 کار می کنی بجای python باید بنویسی python3
-
اینو
python filename.py
یا اگه با پایتون 3 کار می کنی بجای python باید بنویسی python3
نه خير هميشه هم اين طور نيست در مورد چيزى كه نميدونى نظر نده .
اول بزن python -V
بعد نشون ميده ورژنو براى مثال واسه من ٣.٣.٢ هستش بعد اگه خواستى از ورژن ديگه استفاده كنى اول بايد ببينى نصب داريش يا نه پس بنويس python بعد تب بزن براى مثال اگه پايتون ٢.٧ رو داشته باشى احتمالاً python2 يا python27 رو دارى و اگه برعكس بود هم احتمالاً python3 يا python33 رو دارى البته ممكن هست بسته اى كه تب رو فعال ميكنه واسه كامل كرد رو نصب نداشته باشى كهدر اون صورت از اين دستورات به ترتيب استفاده كن :
ls /{bin,sbin,usr/{bin,sbin,local/{bin,sbin}}} | grep python
-
اینو
python filename.py
یا اگه با پایتون 3 کار می کنی بجای python باید بنویسی python3
نه خير هميشه هم اين طور نيست در مورد چيزى كه نميدونى نظر نده .
مگه من گفتم همیشه اینطوریه؟توی اوبونتو هم 2 و هم 3 نصب هست نم گفتم اگه برنامشون را با 3 نوشتند(که میدونند اینکار را کردند یا نه) باید از پایتون3 استفاده کنند
-
اینو
python filename.py
یا اگه با پایتون 3 کار می کنی بجای python باید بنویسی python3
نه خير هميشه هم اين طور نيست در مورد چيزى كه نميدونى نظر نده .
مگه من گفتم همیشه اینطوریه؟توی اوبونتو هم 2 و هم 3 نصب هست نم گفتم اگه برنامشون را با 3 نوشتند(که میدونند اینکار را کردند یا نه) باید از پایتون3 استفاده کنند
زدن تب بعد از نوشتن پایتون در تریسکل ۶(اوبونتو ۱۲.۰۴ آزاد)
nb@ism:~$ python
python python2 python2.7
-
اینو
python filename.py
اینو میگه :
from PyQt4 import QtGui
ImportError: No module named PyQt4
-
python می زنی چه ورژنی می ده؟
-
python می زنی چه ورژنی می ده؟
2.7
-
رو چه توزیعی هستی؟ نسخه اش چیه؟
-
Ubuntu 12.04 LTS
الان نه میذاره که python qt نصب کنم و نه ازش اصتفاده کنم !!! وقتی می خوام نصب کنم میگه نصب هست رو سیستم .
وقتی برای اولین بار خواستم کیوت رو نصب کنم فکر کنم همه چیزش رو با هم دانلود کرده ولی فقط qt خالی هست pyqt نیست :(
-
Ubuntu 12.04 LTS
الان نه میذاره که python qt نصب کنم و نه ازش اصتفاده کنم !!! وقتی می خوام نصب کنم میگه نصب هست رو سیستم .
وقتی برای اولین بار خواستم کیوت رو نصب کنم فکر کنم همه چیزش رو با هم دانلود کرده ولی فقط qt خالی هست pyqt نیست :(
-
خروجی این دستور رو بذار
apt-cache policy python-qt4
-
python-qt4:
Installed: 4.9.1-2ubuntu1
Candidate: 4.9.1-2ubuntu1
Version table:
*** 4.9.1-2ubuntu1 0
500 http://ir.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
-
الان اینکه زده نصب شده پس مشکلش چیه ؟
-
به احتمال زیاد داری با پایتون 3 اجرا میکنی چون همین الان با پایتون 3 اجرا کردم اروری رو که گفتی داد. با دستور زیر اجرا کن
python2.7 filename
-
نه مطمئن هستم که پایتون 2.7 رو نصب کردم ، حالا یه بار دیگه پایتون رو نصب می کنم
-
ورژن 2.7.5 هست
-
بالاخره مشکل حل شد خدا را شکر !!!!!
PyQt رو پاک کردم و دوباره دانلودش کردم ِ فایل های sip و pyqt رو اکسترکت کردم و توی home/build کپی کردم.
cd ~/build/SIP
python2.7 configure.py
make
sudo make install
و بعد :
cd ~/build/PyQt
python2.7 configure.py
make
sudo make install
بعدش هم درست شد . فکر کنم برای ورژن 3 هم جواب میده . فقط جای 2.7 باید 3 بذارین
-
با سلام
من میخوام بر روی آندروید برنامه نویسی کنم با پایتون
من تونستم خود پایتون رو بیارم ولی پایکیوت رو میخوام بیارم بدون استفاده از minstro.
آیا کسی بلده؟
-
سلام به همه
گفته شده که یاد گیری بر هر کسی واجبه و از طرفی کسی که چیزی رو یاد گرفت باید زکاتش رو بده :)
حالا ما (من بعلاوه هر کسی که دوست داره) می خوایم PyQt یاد بگیریم هرکسی هست یا علی
سلام
میشه در ابتدا بگید که پایکیوت ۵ و تمام آنچه نیاز هست را از کجا دانلود و چجوری نصب کنم؟
تو لینک زیر گفته بود که باید به ترتیب نصب بشه میشه دقیق توضیح بدید؟
https://wrd.ir/%d9%be%d8%a7%db%8c%20%da%a9%db%8c%d9%88%d8%aa
اگه میشه مرحله به مرحله (هوای تازه کارا را داشته باشید) ;)
-
دوستان لطفا یک آموزش کامل و (ترجیها تصویری) واسه نصب محیط برنامه نویسی پای کیوت بگذارید من هیچی نفهمیدم والا :(
-
قرار بود باهم یاد بگیریم.....
اما جز 5 6 خط کد چیزی یاد نگرفتیم! 8)
-
قرار بود باهم یاد بگیریم.....
اما جز 5 6 خط کد چیزی یاد نگرفتیم! 8)
بزودی وقتی توی سایتمون مطلب گذاشتیم یاد میگیریم . pysocial.com (http://pysocial.com) . تازه خودم هم میخوام یاد بگریم انشاالله :)
البته قسمت پایتون داره تکمیل میشه
-
سلام من pyat را روی آرچ لینوکس نصب کردم چطوری مطمین بشم درست کار میکنه یا مشکلش کجاست؟
این کد را زدم خطا داد مشکل کجاست؟
from PyQt4.QtCore import *
bash: from: command not found
لطفا یکمی توزیح بدید
و یک سوال دیگه داشتم اینه که اگه بخام سورس کد گنوم شل را ویرایش کنم و کمی شخصی سازی کنم ازکجا باید شروع کنم؟
-
با پایتون سمت سرور کار نکردم. بیشتر دسکتاپ کار کردم. باهاش میشه سوکت پروگرمینگ کار کرد؟ من همزمانی نیاز دارم و با نود جی اس کار میکنم. میخام ببینم کودومش بهتره و سریعتر و راحت تر میشه توسعه داد
-
اگه بتونید همین آموزشهایی رو که میزارید در قالب فایل پی دی اف هم ارائه کنید خیلی عالی میشه
-
سلام
ی سوال فنی دارم
دنبال راهی میگردم که بشه در جداول QtableWidget به نحوی جستجو کرد که مثلا :
بافرض اینکه محتوای جدول ها text باشد " به برنامه سازی پایتون خوش آمدید"
اگر حرف یا هر کلمه ای رو جستجو کنیم فقط همون بصورت Foreground رنگی بشه نه اینکه کل ردیف یا سلول که یافته های مورد نظر در اون هست.