Python -> Qt -> PyQt5 ගොඩදාගන්න බැලුවේ.

Honda.putha

Well-known member
  • Dec 26, 2017
    17,242
    29,825
    113
    @MihiCherub ගෙ පයිතන් ත්‍රෙඩ් එකත් එක්ක පයිතන් ගොඩ දාගන්න ගමන් Qt ටිකකුත් ගොඩ දාගන්න කියලා බැලුවේ. C++ මම දන්න නිසා ඒක එච්චර අමාරු වෙන එකක් නෑ කියලා හිතනවා.

    මම Qt සයිට් එකට (https://www.qt.io/?hsLang=en) ගිහිල්ලා ඒකෙ තියෙන සිලබස් එකක් ( Qt වලට exams තියෙනවා) අරගෙන තමයි මේ වගේ ප්ලෑන් එකක් හදාගත්තෙ.

    දැන් හිතන් ඉන්නෙ මේ දෙකම කරලා PyQt5 එක ගොඩදාගන්න.

    @MihiCherub ගෙ පයිතන් ත්‍රෙඩ් එක
    https://elakiri.com/threads/python-bootcamp-100-days-of-code.1994705/

    #Week 1
    1. QT SW PROJECTS
    Know how to organize the source tree of a large project
    Know that Qt can be used with other libraries like STL, boost, ACE

    #Week 2
    1.1 QT TEST
    Know how to write and compile unit tests
    Test macros
    Asynchronous tests
    Auto tests

    #Week 3
    1.2 QT LIBRARIES AND PLUGINS
    Know how to create custom libraries
    Understand private implementation pattern and how to use it for binary compatibility
    Know how to write Qt plugins using low- and high-level APIs
    Know how to deploy and load/unload libraries and plugins using QLibrary and QPluginLoader

    #Week 4
    2 WIDGETS AND PAINTING
    Concept of widget
    Top-level widgets
    Window and widget flags and attributes (no need to remember each flag or attribute by heart)

    #Week 5
    2.1 DIALOGS
    Various standard dialog types
    The usage of standard dialogs
    Event processing with QProgressDialog
    Learn how to subclass a QDialog
    Be able to launch dialogs (not-) modal
    Know the deletion options for dialogs
    Be able to set input masks on line edits
    Understand the format for input masks
    Know that QCompleter offer popup completion

    #Week 6
    2.2 WRITING CODE FOR EFFICIENT INTERNATIONALIZATION
    Know how a text constant containing non-Latin characters can be read into a QString
    Know how to wrap strings which need to be translated
    Be able to extract strings to be translated from a Qt project
    Know how to take the encoding of the source file into account
    Know how to use Qt Linguist to translate extracted strings
    Be able to save the translated strings in a .qm file
    Know how to find all string constants which are not marked for translation
    Know how to use locale-specific icons
    Know how dates and currencies can be translated

    #Week 7
    2.3 CUSTOM WIDGETS
    Know how custom painted widgets can be made style aware
    Be able to design custom widgets in different ways: aggregation, sub-classing, custom painting
    Subclass QWidget, subclass QxxxWidget, aggregate widgets
    Know when it is better to write a custom widget
    Be able to develop a custom painted widget using QPainter (OpenGL language itself is not required)

    #Week 8
    2.4 PAINTING
    Know QPainter paint operations and their performance in the raster paint engine
    Understand the difference between QWindow and QWidget painting
    Backing store
    Paint devices

    #Week 9
    2.5 STYLING
    Know how widgets are styled
    Know how to use a style sheet

    #Week 10
    3 MODEL/VIEW FRAMEWORK
    Know what the purpose of model/view programming is
    Know how a view communicates with the model
    Know what widgets Qt provides to display model data

    #Week 11
    3.1 MODELS
    Be able to use Qt's predefined models
    Know why a view calls a model several times to render one single cell
    Know how to locate a specific item in a model
    Be able to write custom models
    Understand different ways to optimize custom model usage (simplified data structure, lazy loading)
    Know how to work with a selection
    Know how the view recognizes the changes that have been made to the model's data
    Drag and drop
    Sorting and filtering
    Proxy models

    #Week 12
    3.2 VIEWS
    Essential view classes
    Know what the purpose of a delegate is and how it can be used
    Know when to use roles and delegates
    Be able to write custom delegates

    #Week 13
    4 PROCESSES AND THREADS
    4.1 INTER-PROCESS COMMUNICATION
    Process creation and startup
    Using standard input, output, and error
    Shared memory
    Qt DBus basics

    #Week 14
    4.2 MULTITASKING
    Thread affinity
    Thread creation, interruption, and cleanup
    Event handling in threads
    Inter-thread communication
    Thread storage
    Mutual exclusion and synchronization
    Re-entrant and thread safe classes

    #Week 15
    4.3 RUNNABLES
    Understand the concept of a thread pool
    Queuing and executing runnables
    Thread reserve and release

    #Week 16
    4.4 QT CONCURRENT
    Concept of the future
    Mapping and filtering
    Result reduction

    #Week 17
    5 NETWORKING
    Sockets and secure sockets
    Web sockets
    Understand network access manager
    Know how to make network requests and handle the replies properly
    Know how Qt manages cookies
    Be able to set network proxies

    #Week 18
    5.1 QT WEBENGINE
    WebEngine essential C++ classes
    QWebEngineView
    Asynchronous functions
    Exposing QObjects to the script engine

    #Week 19
    6 DATA I/O
    6.1 DATABASES
    Database connection
    Know how to make queries and transactions efficiently
    Know how to use database model classes
    Principles of database drivers
    6.2 XML
    XML stream readers and writers
    Know how to use XQuery and XPath – the syntax is not required in the exam
    XML schema
    6.3 JSON
    JSON documents
    Parsing JSON
    Generating JSON data

    #Week 20
    7 MISCELLANEOUS TOPICS
    7.1 DESKTOP INTEGRATION
    Be able to use the QDesktopWidget
    Know how to put an icon into the system tray
    Know how to open an URL using the default browser
    7.2 HELP SYSTEM
    Adding "Help" functionality to widgets
    Dynamic help
    QTextBrowser as a help viewer
    Know the different possibilities to provide help
    Understand the concept of the system tray icon
    Learn how to support dynamic help
    ------ Post added on Sep 11, 2021 at 9:18 AM
     

    wtsamantha

    Well-known member
  • Feb 5, 2012
    548
    519
    93
    අප්,
    Qt කියන්නෙ මොකක්ද ?
    පොඩි විස්තරයක් දාපන් පුළුවන් නම් .... සරල ව...
    ඉඩක් ලැබුන ගමන් ඔය කෝස් දෙකම ෆලෝ කරන්න ඉන්නෙ.....
    තෑන්ක්ස් බ්‍රො......
     

    Honda.putha

    Well-known member
  • Dec 26, 2017
    17,242
    29,825
    113
    Qt kiyanne mokakda?

    අප්,
    Qt කියන්නෙ මොකක්ද ?
    පොඩි විස්තරයක් දාපන් පුළුවන් නම් .... සරල ව...
    ඉඩක් ලැබුන ගමන් ඔය කෝස් දෙකම ෆලෝ කරන්න ඉන්නෙ.....
    තෑන්ක්ස් බ්‍රො......
    Qt කියන්නේ C++ බේස් කරගෙන හදලා තියෙන ටූල්කිට් එකක්. ගොඩක් GUI වැඩ වලට පාවිච්චි කරන්න පුලුවන්. cross-platform applications හදන්න පුලුවන්.

    මේක දැන් මොබයිල්/වෙබ් වලටත් සපොර්ට් කරන QML කියලා Language එකකුත් තියෙනවා.

    C++ පුලුවන් නම් මේක ගොඩ දාගන්න ලේසියි කියලා තමයි කියන්නෙ බලමු.


    pyqt5 apitath godala denna puluwanda?videos ehema thiyenwad?
    මමත් ඉගෙන ගන්න යන්නේ තවම දන්නෙ නෑ.
     

    NEMISIS

    Well-known member
  • Nov 13, 2013
    11,399
    19,546
    113
    Colombo
    ෆ්‍රේම්වර්ක් එකක් විදියට ගත්තම ඕකෙ නැති දෙයක් නැහැ, පට්ටම ෆීචර් රිච් සහ මාර ලේසියි ඉගෙන ගන්න(C/C++ දන්නවා නං), කිසිම 3rd party ලයිබ්‍රියක් නැතුව ඕන කම්ප්ලෙක්ස් ප්‍රොජෙක්ට් එකක් කරන්න පුලුවන් QT එකේ තියන දේවල් වලින් විතරක්ම.
    මට ඉස්සර හෙන C++ උණක් තිබ්බා, QT සෑහෙන්න කරා. ඕක ඉගෙනගන්න කරාට ලයිසන්සින් මොඩල් එක ගොඩක් ක්ලයන්ට්ලාට සෙට් වෙන්නෙ නැහැ ඒක නිසා ප්‍රැක්ටිකල් ඇඩ්වාන්ටේජ් එක අඩුයි

    Open source project වලට කිසිම අවුලක් නැහැ
    Closed source යනවා නං උන්ගෙ ලයිසන් එක ගන්න ඕන ඒක කම්පැනි එකේ සයිස් එකට එහෙම ඩිපෙන්ඩ් වෙන සීන් එකක් තියනවා ඒක නිසා ගොඩක් ක්ලයන්ට්ලා ඕක ගැන කතා කරන්නවත් කැමති නැති වෙලාවල් තියනවා
    තව විදියක් තියනවා Closed source ප්‍රොජෙක්ට් කරන්න පුලුවන් ඕපන් සෝස් ලයිසන් එකෙන්, හැබැයි එතකොට අපි QT වලට ලින්ක් කරපු නැති ඔබ්ජෙක්ට් ෆයිල්ස් පබ්ලිකලි තියන්න ඕන, එතකොට ඕන එකෙක්ට ඒ ඔබ්ජෙක්ට් ෆයිල්ස් අරන් QT එක්ක ලින්ක් කරලා බයිනරි එක හදා ගන්න පුලුවන්, ඔය බයිලා වලට ගොඩක් ක්ලයන්ට්ලා කැමති නැහැ

    VLC එහෙම හදලා තියෙන්නෙ ඕකෙන් තමයි, හදන සොෆ්ට්වෙයා එක කිසි අවුලක් නැතුව Windows/Mac/Linux ඕන තැනක රන් කරන්න පුලුවන්
    දැං ඉතින් flutter වලිනුත් ඔය ක්‍රොස් ප්ලැට්ෆෝම් ඇප් හදන්න පුලුවන් ඒව බටර් වගේ ස්මූත්ලි වැඩ කරනවා පට්ට ලස්සන UI හදන්න පුලුවන්, ෆුල් ෆ්‍රී.
     

    Honda.putha

    Well-known member
  • Dec 26, 2017
    17,242
    29,825
    113
    ෆ්‍රේම්වර්ක් එකක් විදියට ගත්තම ඕකෙ නැති දෙයක් නැහැ, පට්ටම ෆීචර් රිච් සහ මාර ලේසියි ඉගෙන ගන්න(C/C++ දන්නවා නං), කිසිම 3rd party ලයිබ්‍රියක් නැතුව ඕන කම්ප්ලෙක්ස් ප්‍රොජෙක්ට් එකක් කරන්න පුලුවන් QT එකේ තියන දේවල් වලින් විතරක්ම.
    මට ඉස්සර හෙන C++ උණක් තිබ්බා, QT සෑහෙන්න කරා. ඕක ඉගෙනගන්න කරාට ලයිසන්සින් මොඩල් එක ගොඩක් ක්ලයන්ට්ලාට සෙට් වෙන්නෙ නැහැ ඒක නිසා ප්‍රැක්ටිකල් ඇඩ්වාන්ටේජ් එක අඩුයි

    Open source project වලට කිසිම අවුලක් නැහැ
    Closed source යනවා නං උන්ගෙ ලයිසන් එක ගන්න ඕන ඒක කම්පැනි එකේ සයිස් එකට එහෙම ඩිපෙන්ඩ් වෙන සීන් එකක් තියනවා ඒක නිසා ගොඩක් ක්ලයන්ට්ලා ඕක ගැන කතා කරන්නවත් කැමති නැති වෙලාවල් තියනවා
    තව විදියක් තියනවා Closed source ප්‍රොජෙක්ට් කරන්න පුලුවන් ඕපන් සෝස් ලයිසන් එකෙන්, හැබැයි එතකොට අපි QT වලට ලින්ක් කරපු නැති ඔබ්ජෙක්ට් ෆයිල්ස් පබ්ලිකලි තියන්න ඕන, එතකොට ඕන එකෙක්ට ඒ ඔබ්ජෙක්ට් ෆයිල්ස් අරන් QT එක්ක ලින්ක් කරලා බයිනරි එක හදා ගන්න පුලුවන්, ඔය බයිලා වලට ගොඩක් ක්ලයන්ට්ලා කැමති නැහැ

    VLC එහෙම හදලා තියෙන්නෙ ඕකෙන් තමයි, හදන සොෆ්ට්වෙයා එක කිසි අවුලක් නැතුව Windows/Mac/Linux ඕන තැනක රන් කරන්න පුලුවන්
    දැං ඉතින් flutter වලිනුත් ඔය ක්‍රොස් ප්ලැට්ෆෝම් ඇප් හදන්න පුලුවන් ඒව බටර් වගේ ස්මූත්ලි වැඩ කරනවා පට්ට ලස්සන UI හදන්න පුලුවන්, ෆුල් ෆ්‍රී.
    Thank you
     
    • Like
    Reactions: Solo Rider

    Aki992

    Well-known member
  • Mar 21, 2016
    6,389
    4,130
    113
    Home sweet home ..
    VLC එහෙම හදලා තියෙන්නෙ ඕකෙන් තමයි, හදන සොෆ්ට්වෙයා එක කිසි අවුලක් නැතුව Windows/Mac/Linux ඕන තැනක රන් කරන්න පුලුවන්
    දැං ඉතින් flutter වලිනුත් ඔය ක්‍රොස් ප්ලැට්ෆෝම් ඇප් හදන්න පුලුවන් ඒව බටර් වගේ ස්මූත්ලි වැඩ කරනවා පට්ට ලස්සන UI හදන්න පුලුවන්, ෆුල් ෆ්‍රී.
    Matath flutter unakk awilla tyuyene me lagadi idann 😂

    Coding karala na Eka nisa me dwass wala python igena gannawa .. ❤️