انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: PyQt : با هم یاد بگیریم :)  (دفعات بازدید: 105845 بار)

0 کاربر و 4 مهمان درحال مشاهده موضوع.

آفلاین yasergol

  • Full Member
  • *
  • ارسال: 117
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #15 : 30 خرداد 1389، 12:28 ب‌ظ »
Stream که میگی چیه؟ لطفا همین مثال خودم رو تکمیل کن
راستی این که یه تاپیک برای pyqt زدید همچین خوب به نظر نمیرسه! آخه یعنی چی؟ منظور از این تاپیک معلوم نیست. اگه منظور آموزش هست، پس کتاب به چه دردی میخوره؟ من خودم ۲ هفته است پایتون رو یاد گرفتم و میخوام pyqt کار کنم

آفلاین fzerorubigd

  • Hero Member
  • *
  • ارسال: 758
  • جنسیت : پسر
  • گوگل دوست خوبیه، فقط باید ازش بپرسی
    • یادداشتهای بیت نیمسوز
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #16 : 30 خرداد 1389، 01:48 ب‌ظ »
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 ذخیره کنن.

آفلاین yasergol

  • Full Member
  • *
  • ارسال: 117
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #17 : 02 تیر 1389، 07:27 ب‌ظ »
fzerorubigd جان ممنونم  \\:D/
حالا یه سوال دیگه: من یه دیالوگ طراحی کردم یکمی دراز شده ;D چجوری از QScrollBar برای رفع مشکلم استفاده کنم؟ خیلی توی اینترنت گشتم، نفهمیدم. درضمن اگه میشه با استفاده از دیزاینر توضیح بدید
پیش پیش ممنون

آفلاین fzerorubigd

  • Hero Member
  • *
  • ارسال: 758
  • جنسیت : پسر
  • گوگل دوست خوبیه، فقط باید ازش بپرسی
    • یادداشتهای بیت نیمسوز
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #18 : 02 تیر 1389، 08:23 ب‌ظ »
1- شاید بد نباشه سوال رو مستقل بپرسید.
۲- من اصلا میونه ای با QT ندارم. wx رو ترجیح میدم :)‌ در هر صورت اگه جداگانه بپرسی اهلش مطمئنا سوالتو بهتر میبینن و امکان جواب گرفتنت هم خیلی بیشتره.

آفلاین yasergol

  • Full Member
  • *
  • ارسال: 117
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #19 : 25 تیر 1389، 12:43 ب‌ظ »
اینجا مریوط به 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_()

ممنون

آفلاین parsibox

  • Hero Member
  • *
  • ارسال: 777
  • جنسیت : پسر
  • آچار فرانسه
    • سایت شخصی محسن داوری
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #20 : 07 امرداد 1389، 10:10 ق‌ظ »
من برای فارسی نویسی از این چند کد زیر استفاده کردم :
# -*- 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"))

http://forum.ubuntu.ir/index.php/topic,12830.0.html
http://forum.ubuntu.ir/index.php/topic,12928.new.htm
http://forum.ubuntu.ir/index.php/topic,12151.0.html
توجه : کلیه ی کاربران لینوکس در اصفهان که متقاضی شارژ یا راه اندازی ADSL پیشگامان یا صبانت هستند میتوانند از طریق ما 5% تخفیف بگیرند

آفلاین GNU/M

  • Newbie
  • *
  • ارسال: 6
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #21 : 15 شهریور 1389، 09:36 ب‌ظ »
برنامه های نوشته شده با QT در Gnome هم اجرا میشه؟
GNU is for life
هنگام عضو شدن قوانین سایت را مطالعه بفرمایید.
«ابتدا تو را نادیده می گیرند، سپس مسخره ات می کنند و بعد با تو می جنگند. ولی در نهایت پیروزی از آن توست»
گاندی

آفلاین parsibox

  • Hero Member
  • *
  • ارسال: 777
  • جنسیت : پسر
  • آچار فرانسه
    • سایت شخصی محسن داوری
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #22 : 15 شهریور 1389، 10:10 ب‌ظ »
بله اجرا میشند.
http://forum.ubuntu.ir/index.php/topic,12830.0.html
http://forum.ubuntu.ir/index.php/topic,12928.new.htm
http://forum.ubuntu.ir/index.php/topic,12151.0.html
توجه : کلیه ی کاربران لینوکس در اصفهان که متقاضی شارژ یا راه اندازی ADSL پیشگامان یا صبانت هستند میتوانند از طریق ما 5% تخفیف بگیرند

آفلاین hadar

  • Full Member
  • *
  • ارسال: 131
  • جنسیت : پسر
  • lما میتوانیم
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #23 : 05 مهر 1389، 08:08 ق‌ظ »
من اموزش سی شارپ رو دیدم خیلی جاب هست که تو اینترنت گیر میاد اگه بتونی کدهای سی شارپ رو با کدهای پی کیو تی عوض کنی و یک سری تغیرات دیگه در این  کتاب که بصورت پی دی اف  ایجاد کنی تبدیل میشه به اموزش پی کیو تی.

آفلاین nice_2000

  • Newbie
  • *
  • ارسال: 14
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #24 : 25 دی 1389، 06:55 ب‌ظ »
این یک قسمت از کد برنامه من هست:

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()
حالا پیام نمایش داده میشه.
دستور بالا دستگاه های بلوتوث اطراف رو شناسایی میکنه و عملیات وقت گیری هم هست.

چه کار باید بکنم؟؟  ](*,)

آفلاین H2010n

  • Sr. Member
  • *
  • ارسال: 451
  • جنسیت : پسر
پاسخ به: PyQt : با هم یاد بگیریم :)
« پاسخ #25 : 22 مهر 1390، 10:06 ق‌ظ »
ببینم تاپیک مرد؟؟ کسی نیست اینجا آموزش بده؟؟

آفلاین HSN6

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • یک راَکتیست اسپرانتیست پایتونیست گودوئیست!
    • بلاگ شخصی
پاسخ : PyQt : با هم یاد بگیریم :)
« پاسخ #26 : 25 خرداد 1391، 12:59 ب‌ظ »
تازه python یاد گرفته بودیم.....
می‌خواستیم Pyqt یاد بگیریم......
 :'(

آفلاین אוּרִיאֵל

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
  • bin/Matin/ !#
    • bin/Matin/ !#
پاسخ : PyQt : با هم یاد بگیریم :)
« پاسخ #27 : 08 آذر 1391، 08:32 ب‌ظ »
بنظرم بهتره همراه  تصویر باشه این آموزش … :)

آفلاین sanaderi

  • Jr. Member
  • *
  • ارسال: 44
  • جنسیت : پسر
    • پروژه کیوت فارسی
پاسخ : PyQt : با هم یاد بگیریم :)
« پاسخ #28 : 19 بهمن 1391، 10:56 ق‌ظ »
از دوستان کسانی که مایلند با کیوت آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir
« آخرین ویرایش: 12 اسفند 1391، 10:37 ب‌ظ توسط sanaderi »
باران باش و ببار ونپرس کاسه های خالی ازآن کیست!کورش کبیر

آفلاین HsebliS

  • High Sr. Member
  • *
  • ارسال: 591
  • جنسیت : پسر
  • یه روز خوب میاد...
پاسخ : PyQt : با هم یاد بگیریم :)
« پاسخ #29 : 19 بهمن 1391، 11:47 ق‌ظ »
از دوستان کسانی که مایلند با کیوتی آشنا شوند و آن را یاد بگیرند دعوت می شود به ما ملحق شوند،فعلا هر 4 روز یک مقاله جدید در پایگاه پروژه کیوت فارسی به صورت رایگان منتشر می شود.قطع با پیوستن شما این امر شتاب بیشتری خواهد گرفت.
شک نکنید و کلیک کنید....qt-project.ir
در این پایگاه پروژه هایی مطرح می شود و به صورت دسته جمعی کامل خواهد.پس از همین لحظه منتظر حضور گرم شما در پیشبرد دنیای کد باز هستیم.
qt-project.ir
باحاله!