رفتن به مطلب
جامعهٔ برنامه‌نویسان ایران

تمامی فعالیت ها

این جریان به طور خودکار بروزرسانی می شود     

  1. ساعت گذشته
  2. دیروز
  3. هفته گذشته
  4. جدیدا
  5. mohammad_0111

    من با خود Qt هم تست کردم ولی بازم به مشکل خوردم. ftp::ftp(QObject *parent) : QObject(parent) { connect(&manager, &QNetworkAccessManager::finished, this, &ftp::finished); } void ftp::uploadFile(QString path) { QString disposition = "form-data; name=\"image\""; if(path.startsWith("file:///")) path = path.remove(0,8); QFileInfo fileInfo(path); if(!fileInfo.exists()) { complete("1000"); } QMimeDatabase db; QMimeType type = db.mimeTypeForFile(path); QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart part; part.setHeader(QNetworkRequest::ContentTypeHeader, QVariant(type.name())); part.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(disposition)); QFile *file = new QFile(path); file->open(QIODevice::ReadOnly); part.setBodyDevice(file); file->setParent(multiPart); multiPart->append(part); QNetworkRequest request; QUrl url; url.setUrl(ftpUrl); url.setUserName(ftpUsername); url.setPassword(ftpPassword); request.setUrl(url); QNetworkReply *reply = manager.put(request,multiPart); multiPart->setParent(reply); files.insert(reply,file); } void ftp::finished(QNetworkReply *reply) { QVariant statusCode = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); emit complete(statusCode.toString()); } من وقتی آدرس ftp رو به شکل صحیح یعنی "ftp://..." نه تنها نتیجه بلکه هیچ اروری هم دریافت نمیکنم. ولی وقتی ادرس رو بصورت: "http://..." ارور 405 دریافت میکنم.
  6. mohammad_0111

    سلام استاد.وقت بخیر. متاسفانه من چک کردم و ارور نامشخص بود بصورت زیر: qml: undefined qml: undefined کدهای خودم رو هم چک کردم با اینکه آدرس فایل رو به تابع ارسال میکردم ولی اصلا داخل متد ازش استفاده نکرده بودم و درکل جایی هم نتونستم پیدا کنم که بهش آدرس فایل رو پاس بدم.
  7. کامبیز اسدزاده

    درود، خب خطای ساطع شده چی هست؟ از سمت سرور چه پیامی دریافت می‌کنید؟
  8. mohammad_0111

    سلام استاد.وقتتون بخیر. امیدوارم حالتون خوب باشه. من از کدهای زیر استفاده کردم ولی متاسفانه خطا داشت. حالا یه مشکل دیگه هم بود اینکه احساس میکنم تو این روش به پوشه بندی های درون پوشه اصلی FTP نمیشه دسترسی داشت. function uploadFile(filePath){ var xml = new XMLHttpRequest(); xml.onreadystatechange = function(){ if(this.status === 200 && this.readyState === 4){ console.log(true); } else{ console.log(false); } } xml.open('POST','serverip',true,'username','password'); xml.send() } درکل من به این صورت استفاده کردم ولی مشکل داشت.و فکر کنم محدودیت هم داره. درمورد کتابخونه های داخل Qt که بهشون اشاره کردین مثالی یا چیزی باشه که بتونم آپلود فایل رو پیاده کنم ممنون میشم.
  9. کامبیز اسدزاده

    سلام، برای این کار بهترین روش این هست که سمت ++C چنین نیاز رو پوشش دهید، به کمک کلاس‌های موجود در ماژول QtNetwork مانند QNetworkAccessManager و QNetworkReply. اما اگر تأکید بر این دارید که در سمت Qt Quick و JS این کار صورت بگیره، می‌تونم پیشنهاد کنم از شیء XMLHttpRequest استفاده کنید. برای دریافت فایل هم کافی است مسیر گرفته شده از طریق FileDialog را به درستی در ورودی تابع send از XMLHttpRequest تعریف کنید. در صورت نیاز کدتون رو قرار بدین تا بیشتر بررسی بشه.
  10. سلام.وقتتون بخیر. خسته نباشید. سوالی که برای من پیش اومده وقتی میخام داخل qml فایل رو از File Dialog دریافت کنم و با FTP آپلود کنم روی هاست متاسفانه این امکان وجود نداره سمت بک اند هم نتونستم حتی فایل رو پاس بدم و یا آپلود کنم، ولی بیشتر دوس دارم این کارو با js داخل qml انجام بدم ولی حتی نتونستم فایل رو با File Dialog بگیرم. ممنون میشم راهنمایی کنید.
  11. mohammad_0111

    سلام و درود استاد عزیز، بله کارکرد. دستتون درد نکنه. متاسفانه داخل qml با regular expression هایی که در سطح وب هست درست ولیدت نمیکنه یا مثلا داخل داکیومنت های خود سایت qt اشاره کرده که میشه از regular expression هایی که برای js استفاده شده استفاده کرد ولی کارنمیکنن و باید خودمون بنوعی طراحی کنیم.
  12. کامبیز اسدزاده

    درود، این نمونه رو امتحان کنید. regExp: /^[a-zA-Z0-9]+([a-zA-Z0-9](_|-| |.)[a-zA-Z0-9])*[a-zA-Z0-9]+$/
  13. سلام.وقتتون بخیر. امیدوارم حالتون خوب باشه. من برای ولیدت کردن تکست فیلد نام کاربری از کد زیر استفاده میکنم.ولی متاسفانه بعد از استفاده از regular expression زیر برای نام کاربری، دیگه نمیتونم هیچ مقداری رو داخل تکست فیلد وارد کنم. TextField{ Layout.preferredWidth: parent.width font.family: appTextFont.name font.pixelSize: designSettingItem._textFontSize validator: RegExpValidator { regExp: /^[a-zA-Z0-9]([._-](?![._-])|[a-zA-Z0-9]){3,18}[a-zA-Z0-9]$/ } } این regular expression رو هم از سطح وب پیدا کردم.
  14. Ali71321

    ممنون میشم بیشتر راهنمایی کنید مهندس
  15. کامبیز اسدزاده

    پیشنهاد من در مرحلهٔ اول استفاده از Qt Quick هست که دست شما در سفارشی‌سازی بازتره. اما به طور کل منظورم از سفارشی‌سازی اینه که منو‌های سنتی رو حذف کنید و در محیط خودِ نرم‌افزارتون بخشی رو به عنوان Header و Menu قرار بدین.
  16. Ali71321

    ممنون مهندس که وقت گذاشتید همونطور که فرمودید ظاهرا راست چین بودن فقط برای QWidget هاست و QAction ها ویجت محسوب نمیشن. در مورد منوهای سفارشی باید از qml استفاده کنم؟
  17. کامبیز اسدزاده

    خواهش می‌کنم، موفق باشید.
  18. mohammad_0111

    حل شد. ممنون استاد بابت راهنمایی تون.
  19. کامبیز اسدزاده

    درود، برای این کار شما باید به شیوهٔ Button تغییرات رو اعمال کنید، چرا که نوع کنترل TabButton مشتق‌ شدهٔ کنترل اصلی است. برای این کار کافیه به روش سفارشی سازی Button عمل کنید. مثال: import QtQuick 2.12 import QtQuick.Controls 2.12 TabButton { id: control text: qsTr("Button") contentItem: Text { text: control.text font: control.font opacity: enabled ? 1.0 : 0.3 color: control.down ? "#17a81a" : "#21be2b" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight } background: Rectangle { implicitWidth: 100 implicitHeight: 40 opacity: enabled ? 1 : 0.3 border.color: control.down ? "#17a81a" : "#21be2b" border.width: 1 radius: 2 } }
  20. mohammad_0111

    سلام.وقتتون بخیر. من میخام فونت TabButton رو تغییر بدم و حتی سایز فونت رو افزایش بدم ولی متاسفانه کار نمیکنه.کد هم بصورت زیر هست: TabBar{ id: account_tabBar width: parent.width currentIndex: 1 TabButton{ text: "تغییر رمز" Font.family: appTitleFont.name Font.pixelSize: designSettingItem._titleFontSize3 } TabButton{ text: "پروفایل" } } مقدار appTitleFont و designSettingItem._titleFontSize3 از قبل تنظیم شدند و درموارد دیگری هم استفاده کردم و کار هم کردند. اروری هم که میده بصورت زیر هست. Non-existent attached object برای خطی هست که فونت فامیلی رو ست کردم. ممنون میشم راهنمایی کنید.
  21. کامبیز اسدزاده

    ممنون از توضیحات کافی. من قبلاً با این مشکل روبرو شدم، و همین مسئله رو باهاش داشتم. اما هیچ راه حلی برای این مشکل پیدا نکردم، به نظرم باگ مربوط به خودِ Qt Widget باید باشه که از طرفی بحث راست‌چین یا چپ‌چین بودن روی پلتفرم‌های خاصی مثل macOS و Linux مهم نیست و این مسئله به نظرم ارتباطی با این موضوع می‌تونه داشته باشه و زمانی درست عمل می‌کنه که منو‌های سیستم‌عامل هم راست‌چین بشن. چون کیوت چند-سکویی هست، پیشنهاد من اینه برای حل این موضوع منو‌های سفارشی بسازید و بیخیال منو‌‌های کلاسیک بشید. البته من به دنبال راه حلی برای این موضوع هستم و در صورت نتیجه‌گیری به اشتراک خواهم گذاشت.
  22. Ali71321

    برای اینکه خود QMenubar راست چین بشه خاصیت LayoutDirection رو در حالت RightToLeft قرار دادم که Menbar راست چین شده ولی برای QAction ها از مواردی مثل : setLayoutdirection(Qt::RightToLeft) استفاده کردم که جواب نداد در ضمن برای طرح و رنگ فرم از CSS استفاده کردم مثل کد زیر : QMenuBar { margin-top: 5px; /* some spacing around the menu */ margin-right:5px; margin-left:5px; margin-bottom:5px; padding-top:; border-width:4px; } QMenuBar::item { spacing: 10px; margin-right:5px; margin-left:10px; padding-right:4px; padding-left:4px; border-left:solid; border-width:2px; border-color:#be9063; }
  23. کامبیز اسدزاده

    سلام، کدهایی که برای این کار استفاده کردین رو به اشتراک بذارید تا مسئله رو حل کنیم.
  24. Ali71321

    سلام و عرض ادب میخواستم جهت QMenubar راست چین بشه که این مورد به سادگی امکان پذیره ولی QAction هایی که اضافه میکنم عنوان راست چین نمیشه و راه حلی هم پیدا نکردم کسی راه حلی داره؟ ممنون میشم اگه راهنمایی کنید. با سپاس
  25. کامبیز اسدزاده

    سلام، در مورد مسئلهٔ واکنش‌گرا بودن در کیون ۵.۱۴ به بعد این مشکل حل شده است و نیازی برای نگرانی وجود ندارد. در صورت مشاهدهٔ مسئله خاصی این کد می‌تواند مشکل را حل کند: QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  26. سلام.وقتتون بخیر. من مدتی هست که با کتابخانه Qt کارمیکنم و از فناوری Qt Quick استفاده میکنم.مشکلی که دارم مشکل واکنش گرا کردن سایز متن هست این اصلی ترین مشکل من در طراحی با QML است. کتاب استاد اسد زاده رو نیز تهیه کردم ولی درمورد واکنش گرا بودن توضیح کم بود و نتونستم مثال کاربردی و درکل درکی از این موضوع داشته باشم. ممنون میشم اگر این موضوع و نحوه ریسپانسیو کردن سایز متن رو کسی توضیح بده. اگر با مثال باشه خیلی عالی میشه
  27. قاسم رمضانی منش

    با سلام خدمت همهٔ دوستان عزیز، ۲۴ اردیبهشت که جلسهٔ اوّل صوتی گروه Advanced C++ Community تحت عنوان «معرفی منابع آموزشی سی‌پلاس‌پلاس» برگزار شد و منابعی که داخل جلسه مطرح شد: منابع آموزش زبان سی‌پلاس‌پلاس اگر می‌خواهید به‌صورت تقریباً سریع و خلاصه شروع به یادگیری برنامه‌نویسی +‌ زبان سی‌پلاس‌پلاس بکنید، سایت Learn CPP،‌ می‌توانید خیلی خلاصه و به‌روز شروع به توضیح برنامه‌نویسی با زبان سی‌پلاس‌پلاس بکنید. برای یادگیری صرفاً زبان سی‌پلاس‌پلاس،‌ تماماً استاندارد ۱۱؛ به‌عنوان برنامه‌نویسی که می‌خواهد سراغ زبان سی‌پلاس‌پلاس بیاید. کتاب آقای بیارنه استراستروپ، The C++ Programming Language می‌تواند بهترین مرجع برای این امر باشد. برای شروع یادگیری برنامه‌نویسی + زبان سی‌پلاس‌پلاس از زبان سازندهٔ زبان (آقای بیارنه استراستروپ) کتاب Programming -- Principles and Practice Using C++ شروع به یادگیری بکنید. منابع Best Practice برای زبان سی‌پلاس‌پلاس برای یادگیری پیاده‌سازی Design Patternهای مختلف و General با استفاده از Templateها کتاب Modern C++ Design پیشنهاد می‌شود. برای شروع یادگیری Design Patternها و روش‌های Refactoring، سایت Guru Refactoring پیشنهاد می‌شود. برای یادگیری نکات حرفه‌ای و ترفندهای زبان سی‌پلاس‌پلاس، کتاب Effective Modern C++ از آقای Scott Mayer شدیداً پیشنهاد می‌شود. برای نوشتن کدهای مطابق و همخوان با استاندارد سی‌پلاس‌پلاس مدرن، مقالهٔ‌ ISO C++ Core Guideline پیشنهاد می‌شود. (برای رعایت بهتر این قوانین در IDEهای مختلف، می‌توانید از پلاگین CppCheck استفاده بکنید). منابع تکمیلی برای قابلیّت‌های زبان سی‌پلاس‌پلاس برای شروع یادگیری حرفه‌ای و کامل Templateها در زبان سی‌پلاس‌پلاس، کتاب C++ Templates Complete Guide پیشنهاد می‌شود. (برای فقط آشنایی با Templateها در زبان سی‌پلاس‌پلاس، صرفاً مطالعه تا فصل چهار کافی‌ست) برای شروع یادگیری و آشنایی با برنامه‌نویسی موازی تحت کتابخانهٔ استاندارد STL Thread، کتاب C++ Concurrency In Action از آقای Anthony Williams پیشنهاد می‌شود. (برای فقط آشنایی با Concurrency در زبان سی‌پلاس‌پلاس، صرفاً مطالعه تا فصل Memory Model کافی‌ست). منابع آنلاین و تکمیلی زبان سی‌پلاس‌پلاس برای جست‌جو مابین کتاب‌ها/مقاله‌ها/کتابخوانه‌های زبان سی‌پلاس‌پلاس، یکی از بهرین مرجع‌ها می‌تواند مخازن Awesome داخل Github باشد: Awesome CPP. برای دنبال گفت‌گوهای سی‌پلاس‌پلاس با حضور اعضاء کمیتهٔ سی‌پلاس‌پلاس، می‌توانید ارائه‌های CppCon را دنبال بکنید. برای پیشمایش آنلاین آخرین نسخهٔ ارائه شدهٔ استاندارد سی‌پلاس‌پلاس، می‌توانید از سایت C++ Draft استفاده بکنید.
  28. با سلام و درود، این بخش جهت معرفی خلاصه گزارشی از جلسات باز برنامه‌نویسی گروه سی‌پلاس‌پلاس ایران ایجاد شده است. طبق برنامه‌ریزی موضوعات جلسه بعد از تشکیل و پایان آن به صورت چکیده گردآوری شده و برای مستند شدن آن در این بخش ارائه می‌شود. جلسات مربوط به این قسمت در ساعات ۲:۰۰ الی ۲۲:۰۰ چند روز از هفته تشکیل می‌شود. لینک دسترسی به این جلسات در تلگرام : https://t.me/AdvancedCppCommunity
  29. mr17mg

    روش عالی‌ای بود دستت دردنکنه من برای این کار از qmldir استفاده کرده بودم و ایمپورت مخصوص خودمو ساخته بودم این روش خیلی بهینه تره
  1. نمایش فعالیت های بیشتر
×
×
  • جدید...