├── .gitignore
├── 1000images
├── 335.png
├── 336.png
└── 337.png
├── 10DynamicScrollView
├── DynamicScrollView.pro
├── ReadMe.txt
├── ScrollDemo.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 11ExposeC++ToQML
├── hello.cpp
├── hello.h
├── main.cpp
└── main.qml
├── 12graphdemo
├── DummyPointGenerator.qml
├── Graphbackground.qml
├── LineGraph.qml
├── graphdemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 13GraphUsingChartDemo
├── DummyPointGenerator.qml
├── GraphUsingCharDemo.pro
├── View1.qml
├── lineCross.png
├── main.cpp
├── main.qml
├── output.gif
├── output2.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
└── readme.txt
├── 14HeartBits
├── DummyPointGenerator.qml
├── HeartBits.pro
├── InspectionPopup.qml
├── WaveHighlighter.qml
├── WaveRectangle.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 15ImageViewerTest
├── Bear.mp4
├── ImageViewerTest.pro
├── diskimgreceiver.cpp
├── diskimgreceiver.h
├── imageprovider.cpp
├── imageprovider.h
├── imagereceiverfactory.cpp
├── imagereceiverfactory.h
├── images
│ ├── IMG_3083.jpg
│ ├── IMG_3084.jpg
│ ├── IMG_3085.jpg
│ ├── IMG_3086.jpg
│ ├── IMG_3087.jpg
│ ├── IMG_3088.jpg
│ ├── IMG_3089.jpg
│ ├── IMG_3090.jpg
│ ├── IMG_3091.jpg
│ ├── IMG_3092.jpg
│ ├── IMG_3093.jpg
│ ├── IMG_3094.jpg
│ ├── IMG_3095.jpg
│ ├── IMG_3096.jpg
│ ├── IMG_3097.jpg
│ ├── IMG_3098.jpg
│ ├── IMG_3099.jpg
│ ├── IMG_3100.jpg
│ ├── IMG_3101.jpg
│ ├── IMG_3102.jpg
│ ├── IMG_3103.jpg
│ ├── IMG_3104.jpg
│ ├── IMG_3105.jpg
│ ├── IMG_3106.jpg
│ ├── IMG_3107.jpg
│ ├── IMG_3108.jpg
│ ├── IMG_3109.jpg
│ ├── IMG_3110.jpg
│ ├── IMG_3111.jpg
│ ├── IMG_3112.jpg
│ ├── IMG_3113.jpg
│ ├── IMG_3114.jpg
│ ├── IMG_3115.jpg
│ ├── IMG_3116.jpg
│ ├── IMG_3117.jpg
│ ├── IMG_3118.jpg
│ ├── IMG_3119.jpg
│ ├── IMG_3120.jpg
│ ├── IMG_3121.jpg
│ ├── IMG_3122.jpg
│ ├── IMG_3123.jpg
│ ├── IMG_3124.jpg
│ ├── IMG_3125.jpg
│ ├── IMG_3126.jpg
│ ├── IMG_3127.jpg
│ ├── IMG_3128.jpg
│ ├── IMG_3129.jpg
│ ├── IMG_3130.jpg
│ ├── IMG_3131.jpg
│ ├── IMG_3132.jpg
│ ├── IMG_3133.jpg
│ ├── IMG_3134.jpg
│ ├── IMG_3135.jpg
│ ├── IMG_3136.jpg
│ ├── IMG_3137.jpg
│ ├── IMG_3138.jpg
│ ├── IMG_3139.jpg
│ ├── IMG_3140.jpg
│ ├── IMG_3141.jpg
│ ├── IMG_3142.jpg
│ ├── IMG_3143.jpg
│ ├── IMG_3144.jpg
│ ├── IMG_3145.jpg
│ ├── IMG_3146.jpg
│ ├── IMG_3147.jpg
│ ├── IMG_3148.jpg
│ ├── IMG_3149.jpg
│ ├── IMG_3150.jpg
│ ├── IMG_3151.jpg
│ ├── IMG_3152.jpg
│ ├── IMG_3153.jpg
│ ├── IMG_3154.jpg
│ ├── IMG_3155.jpg
│ ├── IMG_3156.jpg
│ ├── IMG_3157.jpg
│ ├── IMG_3158.jpg
│ ├── IMG_3159.jpg
│ ├── IMG_3160.jpg
│ ├── IMG_3161.jpg
│ ├── IMG_3162.jpg
│ ├── IMG_3163.jpg
│ ├── IMG_3164.jpg
│ ├── IMG_3165.jpg
│ ├── IMG_3166.jpg
│ ├── IMG_3167.jpg
│ ├── IMG_3168.jpg
│ ├── IMG_3169.jpg
│ ├── IMG_3170.jpg
│ ├── IMG_3171.jpg
│ ├── IMG_3172.jpg
│ ├── IMG_3173.jpg
│ ├── IMG_3174.jpg
│ ├── IMG_3175.jpg
│ ├── IMG_3176.jpg
│ ├── IMG_3177.jpg
│ ├── IMG_3178.jpg
│ ├── IMG_3179.jpg
│ ├── IMG_3180.jpg
│ ├── IMG_3181.jpg
│ ├── IMG_3182.jpg
│ ├── IMG_3183.jpg
│ ├── IMG_3184.jpg
│ ├── IMG_3185.jpg
│ ├── IMG_3186.jpg
│ ├── IMG_3187.jpg
│ ├── IMG_3188.jpg
│ ├── IMG_3189.jpg
│ ├── IMG_3190.jpg
│ ├── IMG_3191.jpg
│ ├── IMG_3192.jpg
│ ├── IMG_3193.jpg
│ ├── IMG_3194.jpg
│ ├── IMG_3195.jpg
│ └── IMG_3196.jpg
├── imgreceiver.cpp
├── imgreceiver.h
├── main.cpp
├── main.qml
├── nwimgreceiver.cpp
├── nwimgreceiver.h
├── qml.qrc
└── readme.txt
├── 16listpicker
├── MyTabButton.qml
├── Picker.qml
├── listpicker.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 17MenuItemTooltip
├── Dot.qml
├── GMenuItem.qml
├── MenuItemTooltip.pro
├── ReadMe.txt
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 18OpacityMaskQML
├── 11.png
├── AdjustableBar.qml
├── AnnotationBar.qml
├── Bracket.qml
├── BracketPair.qml
├── D1.pro
├── ScaleBar.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 19OverFlowingRow
├── MButton.qml
├── OverFlowingRow.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 1AddingElementInQML_ListModel
├── a1.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 20PassArrayToQML
├── GLineSeries.qml
├── Line_Graph.csv
├── PassArrayToQML.pro
├── ReadMe.txt
├── View1.qml
├── csvparser.cpp
├── csvparser.h
├── gline.cpp
├── gline.h
├── graphreader.cpp
├── graphreader.h
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 21ProfilePhotoUsingOpacityMask
├── ProfilePhoto.pro
├── ProfilePicture.qml
├── images
│ ├── 1.png
│ ├── dada1.png
│ ├── sanu1.png
│ ├── sanu2.png
│ └── sanu3.png
├── main.cpp
├── main.qml
├── output.PNG
├── qml.qrc
└── readme.txt
├── 22ReadFileBuildModel
├── a1.pro
├── diskfilemodel.cpp
├── diskfilemodel.h
├── filehandler.cpp
├── filehandler.h
├── main.cpp
├── main.qml
└── qml.qrc
├── 23SnakesPathTesting
├── Board.qml
├── SWave.pro
├── filereader.cpp
├── filereader.h
├── files
│ ├── s18.txt
│ ├── s26.txt
│ ├── s39.txt
│ ├── s51.txt
│ ├── s54.txt
│ ├── s56.txt
│ ├── s60.txt
│ ├── s75.txt
│ ├── s8.txt
│ ├── s83.txt
│ ├── s85.txt
│ ├── s90.txt
│ ├── s92.txt
│ ├── s97.txt
│ └── s99.txt
├── images
│ └── board.jpg
├── main.cpp
├── main.qml
└── qml.qrc
├── 24StudentUserC++PluginsForQML
├── StudentTest
│ ├── StudentTest.pro
│ ├── main.cpp
│ ├── main.qml
│ └── qml.qrc
├── StudentUser.pro
├── readme.txt
└── student
│ ├── qmldir
│ ├── student.cpp
│ ├── student.h
│ ├── student.pro
│ ├── student_plugin.cpp
│ └── student_plugin.h
├── 25TableViewManualDemo
├── MyCell.qml
├── MyHeader.qml
├── Readme.txt
├── TableData.qml
├── TableRow.qml
├── inimodel.cpp
├── inimodel.h
├── inireader.cpp
├── inireader.h
├── initgroup.cpp
├── initgroup.h
├── initgroupmodel.cpp
├── initgroupmodel.h
├── main.cpp
├── main.qml
├── qml.qrc
├── reformat_presets.ini
└── tableViewDemo.pro
├── 26TabViewAndAlertMessage
├── AddStudent.qml
├── IMsgModel.h
├── IPopupManager.h
├── MsgModel.h
├── MsgPopup.qml
├── PopupManager.cpp
├── PopupManager.h
├── StudentDetails.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── readme.txt
├── s1.pro
├── student.cpp
├── student.h
├── studentlistmodel.cpp
└── studentlistmodel.h
├── 27TextAreaButtonMenu
├── FriendsMenu.qml
├── FriendsTextArea.qml
├── Grippers.qml
├── TextAreaButtonMenu.pro
├── icons
│ └── gripper.svg
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 28TextMetricsdemo
├── TextMetricsdemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 29todo-list_C++QMLIntegration
├── ToDoInQML.qml
├── ToDoList.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── readme.txt
├── todo-list.pro
├── todolist.cpp
├── todolist.h
├── todomodel.cpp
└── todomodel.h
├── 2ArrayToView
├── ArrayToView.pro
├── main.cpp
├── main.qml
├── qml.qrc
└── readme.txt
├── 30translationdemo
├── hellotr_la.qm
├── hellotr_la.ts
├── main.cpp
├── main.qml
├── qml.qrc
├── readme.txt
└── translationdemo.pro
├── 31UIArchitectureExample
├── ArchitectureExample.pro
├── ExamplePlugin
│ ├── ExamplePlugin.cpp
│ ├── ExamplePlugin.h
│ ├── Patient.cpp
│ ├── Patient.h
│ ├── PatientModel.cpp
│ ├── PatientModel.h
│ ├── PatientProvider.cpp
│ ├── PatientProvider.h
│ ├── exampleplugin.pro
│ └── qmldir
└── ExampleUI
│ ├── ExampleUI.pro
│ ├── deployment.pri
│ ├── main.cpp
│ ├── main.qml
│ └── qml.qrc
├── 32UseOfModelsWithCustomDropDown
├── .gitignore
├── CustomMenuItem.qml
├── DropDown.qml
├── DropDownModels.qml
├── DropdownBackground.qml
├── ReadMe.txt
├── main.cpp
├── main.qml
├── qml.qrc
├── untitled.pro
├── user.cpp
├── user.h
├── userlistmodel.cpp
└── userlistmodel.h
├── 33SpeedOFUpdatingModelsInMVC
├── StudDialog.qml
├── Studui.qml
├── UpdateModelDemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── readme.txt
├── student.cpp
└── student.h
├── 34DynamicComponentCreationWithBinding
├── DynamicComponentCreation.pro
├── TestPopup.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 34ECGWave
├── main.cpp
├── main.qml
├── output.png
├── qml.qrc
└── r1.pro
├── 35InsertOperationOnModels
├── InsertModeldemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── student.cpp
└── student.h
├── 36InsertRemoveUpdateCPPModel
├── ModelUpdateDemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── stringlistmodel.cpp
├── stringlistmodel.h
├── student.cpp
└── student.h
├── 37CPPmodelOperations
├── SymbolText.qml
├── cppmodeloperations.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── student.cpp
└── student.h
├── 37PlaintTextVsStyleTextDemo
├── StyleTextDemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 38WorkerscriptDemo
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── script.mjs
└── workerscriptdemo.pro
├── 39StackWidgetDemo
├── AboutPopup.qml
├── MyPage.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── stackwidgetdemo.pro
├── 3BusAndSignal
├── Bus.qml
├── BusAndSignal.pro
├── Wheel.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 40QuickItemDemo
├── QuickItemDemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── qquickcustomitem.cpp
├── qquickcustomitem.h
└── readme.txt
├── 41QuickVTKDemo
├── CMakeLists.txt
├── QVTKFramebufferObjectItem.cpp
├── QVTKFramebufferObjectItem.h
├── README.md
├── VtkFboInQtQuickConfig.h.in
├── copydlls.cmd
├── main.cpp
├── main.qml
└── run.bat
├── 42LazyLoadingDemo
├── Drinks.qml
├── Fruits.qml
├── LazyLoadingDemo.pro
├── MyPopup.qml
├── MyScreen.qml
├── Readme.txt
├── Vegetables.qml
├── drinkclass.cpp
├── drinkclass.h
├── fruitclass.cpp
├── fruitclass.h
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── vegetableclass.cpp
└── vegetableclass.h
├── 43SendingStringListTOQml
├── ReadMe.txt
├── main.cpp
├── main.qml
├── qml.qrc
├── r1.pro
├── script.mjs
├── student.cpp
└── student.h
├── 44iniFileReadWriteDemo
├── LayoutLine.qml
├── LayoutView.qml
├── Readme.txt
├── SText.qml
├── configuration
│ ├── layoutsA.ini
│ └── layoutsB.ini
├── initfilereadWriteDemo.pro
├── layoutconfigurationmodel.cpp
├── layoutconfigurationmodel.h
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 45StatesAndTransitionsDemo
├── SignalBlob.qml
├── StatesTransitionDemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 46slidertest
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── slidertest.pro
├── 47ColorPalleteDemo
├── ColorPalleteDemo.pro
├── GColorpallete.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 48SliderDemo
├── GColorpallete.qml
├── GSlider.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── slidertest.pro
├── 49SliderWithArrow
├── ArrowMarker.qml
├── CustomSlider.qml
├── GColorpallete.qml
├── GSlider.qml
├── SliderWithArrow.pro
├── images
│ ├── arrow1.svg
│ ├── arrow2.svg
│ ├── arrow3.svg
│ ├── arrow4.svg
│ ├── arrow5.svg
│ ├── arrow6.svg
│ └── arrow7.svg
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 4ButtonMenuDemo
├── ButtonMenu.qml
├── ButtonMenuDemo.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 50FilterModelDemoQML
├── FilterView.qml
├── FiltermodelDemo.pro
├── Myex.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 51TableViewDemo
├── CustomTable.qml
├── GTableView.qml
├── TableModeldemo.qml
├── TableViewWithAnimation.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── tablemodel.cpp
├── tablemodel.h
└── tableviewdemo.pro
├── 52listViewDemo
├── ContactModel.qml
├── ListViewDemo.qml
├── ListViewSelection.qml
├── listViewDemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 53RowLayoutDemo
├── RowLayoutDemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 54BusAnimation
├── AnimationDemo.pro
├── BusDemo.qml
├── TrafficSignal.qml
├── images
│ ├── bus.jpg
│ └── wheel.png
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 55TrafficSignal
├── Demo1.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── trafficSignal.pro
├── 56SingleTrafficSignal
├── SignalAnimation.qml
├── SingleSignal.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 57TrafficSignlaFontDemo
├── fonts
│ ├── digitalitalic.ttf
│ ├── digitalmono.ttf
│ └── digitalnormal.ttf
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── statesDemo.pro
├── 58SidePanelAnimation
├── DrawerPanel.qml
├── a2.pro
├── main.cpp
├── main.qml
└── qml.qrc
├── 59ArnavTrafficSignal
├── ArnavTrafficSignal.pro
├── fonts
│ └── digitalnormal.ttf
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 5chessboard
├── chessboard.pro
├── icons
│ ├── 26774.svg
│ ├── bbishop.png
│ ├── bbishop.svg
│ ├── bking.png
│ ├── bking.svg
│ ├── bknight.png
│ ├── bknight.svg
│ ├── bpawn.png
│ ├── bpawn.svg
│ ├── bqueen.png
│ ├── bqueen.svg
│ ├── brook.png
│ ├── brook.svg
│ ├── wbishop.png
│ ├── wbishop.svg
│ ├── wking.png
│ ├── wking.svg
│ ├── wknight.png
│ ├── wknight.svg
│ ├── wpawn.png
│ ├── wpawn.svg
│ ├── wqueen.png
│ ├── wqueen.svg
│ ├── wrook.png
│ └── wrook.svg
├── main.cpp
├── main.qml
├── output.png
├── qml.qrc
└── readme.txt
├── 60MultiThreadingScreenUpdates
├── ClassRoomsView.qml
├── CurrentStudentView.qml
├── MultiThreading.pro
├── classroom.cpp
├── classroom.h
├── classroommodel.cpp
├── classroommodel.h
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── studentfiller.cpp
├── studentfiller.h
├── studentmodel.cpp
└── studentmodel.h
├── 61SmoothAnimation
├── ProfilePicture.qml
├── T1.pro
├── images
│ ├── dada1.png
│ └── sanu2.png
├── main.cpp
├── main.qml
├── ouput.gif
└── qml.qrc
├── 62DraggingAndDroppingDemo
├── ColorPalleteMovement.qml
├── ColorPicker.qml
├── ColorSelector.qml
├── DragPerson.qml
├── DragTile.qml
├── DropTile.qml
├── FootBall.qml
├── MultipleDropArea.qml
├── Output4.gif
├── images
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── 4.png
│ └── 5.png
├── main.cpp
├── main.qml
├── output1.gif
├── output2.gif
├── output3.gif
├── qml.qrc
└── thumbnailDrag.pro
├── 63ProgressbarBehavior
├── GSlider.qml
├── ProgressbarBehavior.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 64LoginScreen
├── LoginPrompt.qml
├── LoginScreen.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 65ECGWaveAddPointsDynamically
├── DummyPointGenerator.qml
├── GraphUsingCharDemo.pro
├── View1.qml
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
└── readme.txt
├── 66ECGWaveGraphConfiguration
├── ChartView1.qml
├── DummyPointGenerator.qml
├── GraphUsingCharDemo.pro
├── View1.qml
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
└── readme.txt
├── 67ECGWaveOnDIalog
├── ChartView1.qml
├── DrawerPanel.qml
├── S1.pro
├── View1.qml
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── output1.png
├── output2.png
├── pointgenerator.cpp
├── pointgenerator.h
└── qml.qrc
├── 68ECGWavePointReadFromDisk
├── ChartView1.qml
├── DrawerPanel.qml
├── Output.png
├── S1.pro
├── View1.qml
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
└── waveformutils.h
├── 69WaveformGenerator
├── ChartView1.qml
├── DrawerPanel.qml
├── S1.pro
├── View1.qml
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── ecg1.txt
│ ├── ecg2.txt
│ ├── ecg3.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
└── waveformutils.h
├── 6Course
├── 10StatesAndTransitions.qml
├── 1RectangleProperties.qml
├── 2CutomButton.qml
├── 3Anchros.qml
├── 4TextInput.qml
├── 5Image.qml
├── 6MVC_demo_ToDoList.qml
├── 7Animation1.qml
├── 8Animation2.qml
├── 9ColorPicker.qml
├── BrianCrains.txt
├── BrianCrains
│ ├── AntiAliasing.qml
│ ├── OpacityAnimation.qml
│ ├── PropertyAnimation.qml
│ ├── RotationAnimation.qml
│ └── ScaleAnimation.qml
├── QMLSession.txt
├── QMLTraining.pptx
├── Session1
│ ├── Images
│ │ ├── bus.jpg
│ │ ├── wheel.png
│ │ └── wheel1.png
│ ├── fonts
│ │ └── digitalnormal.ttf
│ └── readme.txt
├── exercises.txt
└── readme.txt
├── 70ScrollviewDemo
├── S2.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 71ECGMultipleWaveformDisplay
├── ChartView1.qml
├── DrawerPanel.qml
├── S1.pro
├── View1.qml
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── ecg1.txt
│ ├── ecg2.txt
│ ├── ecg3.txt
│ ├── ecgugly.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
└── waveformutils.h
├── 72WaveSketching
├── DummyPointGenerator.qml
├── GraphUsingCharDemo.pro
├── View1.qml
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
└── readme.txt
├── 73MultiThreadingDemo
├── MultiThreadingDemo.pro
├── ReadMe.txt
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── worker.cpp
└── worker.h
├── 74ECGWaveUsingMultithreading
├── ChartView1.qml
├── DrawerPanel.qml
├── S11Multithreading.pro
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── output.png
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── ecg1.txt
│ ├── ecg2.txt
│ ├── ecg3.txt
│ ├── ecgugly.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
├── waveformutils.h
├── worker.cpp
└── worker.h
├── 75MultithreadingECGPanelView
├── ChartView1.qml
├── DrawerPanel.qml
├── MultithreadingECGPanelView.pro
├── Readme.txt
├── View1.qml
├── images
│ ├── max1.png
│ └── min1.png
├── main.cpp
├── main.qml
├── output1.png
├── output2.png
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── ecg1.txt
│ ├── ecg2.txt
│ ├── ecg3.txt
│ ├── ecgugly.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
├── waveformutils.h
├── worker.cpp
└── worker.h
├── 76SingleThreadedECGPanelViewObserverPattern
├── ChartView1.qml
├── DrawerPanel.qml
├── MultithreadingECGPanelView.pro
├── View1.qml
├── controller.cpp
├── controller.h
├── images
│ ├── max1.png
│ └── min1.png
├── main.cpp
├── main.qml
├── output.png
├── pointgenerator.cpp
├── pointgenerator.h
├── pointrecorder.cpp
├── pointrecorder.h
├── qml.qrc
├── wavedata
│ ├── ecg.txt
│ ├── ecg1.txt
│ ├── ecg2.txt
│ ├── ecg3.txt
│ ├── ecgugly.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
├── waveformutils.h
├── worker.cpp
└── worker.h
├── 77UniformSpacingWaveforms
├── ChartView1.qml
├── DrawerPanel.qml
├── UniformSpacingWaveforms.pro
├── View1.qml
├── images
│ ├── dock1.png
│ ├── max1.png
│ ├── max2.png
│ ├── max3.png
│ ├── mini1.png
│ ├── mini2.png
│ ├── mini4.jpg
│ └── mini5.png
├── main.cpp
├── main.qml
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
├── wavedata
│ ├── ecg1.txt
│ ├── ecg11.txt
│ ├── ecg111.txt
│ ├── ecg2.txt
│ ├── ecg22.txt
│ ├── ecg222.txt
│ ├── ecg3.txt
│ ├── ecg33.txt
│ ├── ecg333.txt
│ ├── ecg4.txt
│ ├── ecg44.txt
│ ├── ecg444.txt
│ ├── ecgugly.txt
│ ├── sine.txt
│ └── square.txt
├── waveformdata.cpp
├── waveformdata.h
├── waveformreader.cpp
├── waveformreader.h
├── waveformutils.cpp
└── waveformutils.h
├── 78CPPListmodelUpdate
├── CurveColorModel.qml
├── CurveColorUpdater.qml
├── ECGCurve.cpp
├── ECGCurve.h
├── ECGCurveListModel.cpp
├── ECGCurveListModel.h
├── T1.pro
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 79ChangeParentDemo
├── ChangeParentDemo.pro
├── main.cpp
├── main.qml
└── qml.qrc
├── 7CreatingNewModel
├── T1.pro
├── main.cpp
├── main.qml
├── qml.qrc
├── readme.txt
├── showCPPModel.PNG
├── student.cpp
├── student.h
├── studentlistmodel.cpp
└── studentlistmodel.h
├── 80ProgressBarStyle
├── MyProgress.qml
├── MyProgress1.qml
├── MyProgress2.qml
├── Pr1.pro
├── ProgressStyle1.qml
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 81circleprogressdemo
├── CircleProgress.qml
├── circleprogressdemo.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 82RadioCustomDemo
├── RadioButton2.qml
├── RadioDemo.pro
├── main.cpp
├── main.qml
└── qml.qrc
├── 83DynamicSeriesinQtChart
├── DynamicSeries.pro
├── WaveViewModel.cpp
├── WaveViewModel.h
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── readme.txt
├── 84DynamicFontSizeDemo
├── G1.pro
├── GameSettings.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
└── qmldir
├── 85QMLDIR_DEMO
├── ArchitectureExample.pro
├── ExamplePlugin
│ ├── ExamplePlugin.cpp
│ ├── ExamplePlugin.h
│ ├── MyButton.qml
│ ├── MyRect.qml
│ ├── MyRect1.qml
│ ├── Patient.cpp
│ ├── Patient.h
│ ├── PatientModel.cpp
│ ├── PatientModel.h
│ ├── PatientProvider.cpp
│ ├── PatientProvider.h
│ ├── exampleplugin.pro
│ ├── qmldir
│ └── resources.qrc
├── ExampleUI
│ ├── ExampleUI.pro
│ ├── deployment.pri
│ ├── main.cpp
│ ├── main.qml
│ └── qml.qrc
└── ReadMe.txt
├── 86ECGGraphHorizontalScroll
├── DummyPointGenerator.qml
├── GraphUsingCharDemo.pro
├── View1.qml
├── main.cpp
├── main.qml
├── output.gif
├── pointgenerator.cpp
├── pointgenerator.h
├── qml.qrc
└── readme.txt
├── 87MultiThreadingDemo
├── Readme.txt
├── T2.pro
├── counterprocessor.cpp
├── counterprocessor.h
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── taskmanager.cpp
└── taskmanager.h
├── 88CustomWindowDemo
├── MyWindow.qml
├── MyWindow1.qml
├── MyWindow2.qml
├── TitleBar.qml
├── WindowDemo.pro
├── main.cpp
├── main.qml
└── qml.qrc
├── 89MVCDemo
├── MVCDemo.pro
├── StudentDemo.qml
├── main.cpp
├── main.qml
├── output.gif
├── qml.qrc
├── readme.txt
├── studentdata.cpp
├── studentdata.h
├── studentviewmodel.cpp
└── studentviewmodel.h
├── 8DicomviewerQt
└── s8
│ ├── dicominteractionstyle.h
│ ├── images
│ ├── Open.png
│ ├── exit.png
│ ├── import.jpg
│ └── import.png
│ ├── main.cpp
│ ├── mainwindow.cpp
│ ├── mainwindow.h
│ ├── mainwindow.ui
│ ├── modelinteractionstyle.h
│ ├── resource.qrc
│ ├── s8.pro
│ └── stylesheets
│ ├── style1.qss
│ └── style2.qss
├── 90RadioButtonIndicatorDemo
├── Indicator.qml
├── IndicatorDemo.pro
├── RadioButton.qml
├── RadioGroup.qml
├── main.cpp
├── main.qml
├── output.png
└── qml.qrc
├── 91ScrollShowWhenRequired
├── Scroll1.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 92PlanningBox
├── PlanningBox.pro
├── main.cpp
├── main.qml
├── output.gif
└── qml.qrc
├── 9DynamicPopUp
├── BackRectangle.qml
├── DropDown.qml
├── DropDown1.qml
├── DynamicPopUp.pro
├── MessagePopup.qml
├── TopperDialog.qml
├── main.cpp
├── main.qml
├── output.gif
├── output.png
├── qml.qrc
└── readme.txt
├── Excercises.txt
├── QML Guidelines.docx
├── QMLGuidelines.pdf
├── ReadMe.txt
└── learnings.pptx
/1000images/335.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/1000images/335.png
--------------------------------------------------------------------------------
/1000images/336.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/1000images/336.png
--------------------------------------------------------------------------------
/1000images/337.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/1000images/337.png
--------------------------------------------------------------------------------
/10DynamicScrollView/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ScrollView will have list of items
2 | You can dynamically add item to list (model)
3 | and this will update scrollview.
4 |
5 |
--------------------------------------------------------------------------------
/10DynamicScrollView/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/10DynamicScrollView/output.gif
--------------------------------------------------------------------------------
/10DynamicScrollView/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | ScrollDemo.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/11ExposeC++ToQML/hello.cpp:
--------------------------------------------------------------------------------
1 | #include "hello.h"
2 |
3 | Hello::Hello(QObject *parent) : QObject(parent) {
4 | m_greetings = DEFAULT_GREETING;
5 | }
6 |
7 | QString Hello::getGreetings()
8 | {
9 | return m_greetings;
10 | }
11 |
12 | void Hello::setGreetings(const QString &greetings)
13 | {
14 | if (m_greetings == greetings)
15 | return;
16 |
17 | m_greetings = greetings;
18 |
19 | // Notify about changed greetings
20 | emit greetingsChanged();
21 | }
22 |
23 | void Hello::resetToDefaultGreeting()
24 | {
25 | setGreetings(DEFAULT_GREETING);
26 | }
27 |
--------------------------------------------------------------------------------
/11ExposeC++ToQML/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | #include "qqml.h"
5 | #include "hello.h"
6 |
7 | int main(int argc, char *argv[])
8 | {
9 | QGuiApplication app(argc, argv);
10 |
11 | QQmlApplicationEngine engine;
12 |
13 | qmlRegisterType("Greeter", 1, 0, "GreeterComponent");
14 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
15 |
16 | return app.exec();
17 | }
18 |
--------------------------------------------------------------------------------
/12graphdemo/Graphbackground.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 | anchors.centerIn: parent
5 | color: "gray"
6 | border.color: "black"
7 | border.width: 2
8 | width: parent.width-100
9 | height: parent.height-100
10 | }
11 |
--------------------------------------------------------------------------------
/12graphdemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | Window {
5 | id:root
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Hello World")
10 |
11 | LineGraph {
12 | id: linegraph
13 | anchors.centerIn: parent
14 | width: parent.width-100
15 | height: parent.height-100
16 | lineCount: 3
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/12graphdemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/12graphdemo/output.gif
--------------------------------------------------------------------------------
/12graphdemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Graphbackground.qml
5 | DummyPointGenerator.qml
6 | LineGraph.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/13GraphUsingChartDemo/lineCross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/13GraphUsingChartDemo/lineCross.png
--------------------------------------------------------------------------------
/13GraphUsingChartDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/13GraphUsingChartDemo/output.gif
--------------------------------------------------------------------------------
/13GraphUsingChartDemo/output2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/13GraphUsingChartDemo/output2.gif
--------------------------------------------------------------------------------
/13GraphUsingChartDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DummyPointGenerator.qml
5 | View1.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/13GraphUsingChartDemo/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of how to create interactive graphics on top of the QT charts using canvas tool.
2 |
3 | This project reads some points and draws lines in QT chart.
4 | User can interactively create some annotations on this graph using dynamic graphics.
5 | This is kind of cool. Mostly coding is done in javascript in qml files. Very little c++ support
--------------------------------------------------------------------------------
/14HeartBits/InspectionPopup.qml:
--------------------------------------------------------------------------------
1 | import QtQuick.Controls 2.4
2 |
3 | Popup {
4 | id: popup
5 |
6 | modal: true
7 | focus: true
8 | closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
9 | property alias startindex: inspectedWave.startindex
10 | property alias endindex: inspectedWave.endindex
11 | property alias points: inspectedWave.points
12 |
13 | WaveRectangle {
14 | id: inspectedWave
15 | width: parent.width
16 | height: waveRect.height
17 | color: "darkgray"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/14HeartBits/WaveHighlighter.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 | id: root
5 |
6 | property var startx: 0
7 | property var endx: 0
8 |
9 | height: parent.height
10 | width: endx - startx
11 | visible: endx > startx
12 | opacity: 0.7
13 | color: "red"
14 |
15 | Rectangle {
16 | id:leftBar
17 | width: 3
18 | height: parent.height
19 | color: "darkred"
20 | }
21 | Rectangle {
22 | id:rightBar
23 | x: parent.width-width
24 | width: 3
25 | height: parent.height
26 | color: "darkred"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/14HeartBits/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/14HeartBits/output.gif
--------------------------------------------------------------------------------
/14HeartBits/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | WaveRectangle.qml
5 | DummyPointGenerator.qml
6 | InspectionPopup.qml
7 | WaveHighlighter.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/15ImageViewerTest/Bear.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/Bear.mp4
--------------------------------------------------------------------------------
/15ImageViewerTest/diskimgreceiver.h:
--------------------------------------------------------------------------------
1 | #ifndef DISKIMGRECEIVER_H
2 | #define DISKIMGRECEIVER_H
3 |
4 | #include "imgreceiver.h"
5 | #include "qpixmap.h"
6 |
7 | class DiskImgReceiver : public ImgReceiver
8 | {
9 | public:
10 | DiskImgReceiver();
11 | QPixmap getCurrentImage();
12 |
13 |
14 |
15 | private:
16 | int m_counter = 83;
17 | };
18 |
19 | #endif // DISKIMGRECEIVER_H
20 |
--------------------------------------------------------------------------------
/15ImageViewerTest/imageprovider.cpp:
--------------------------------------------------------------------------------
1 | #include "imageprovider.h"
2 |
3 | ImageProvider::ImageProvider()
4 | :QQuickImageProvider(Pixmap),
5 | m_receiver(nullptr)
6 | {
7 |
8 | }
9 |
10 | ImageProvider::ImageProvider(ImgReceiver *imgreceiver)
11 | :QQuickImageProvider(Pixmap),
12 | m_receiver(imgreceiver)
13 | {
14 |
15 | }
16 |
17 | QPixmap ImageProvider::requestPixmap(const QString &id, QSize *size, const QSize &requestedSize)
18 | {
19 | if (m_receiver) {
20 | return m_receiver->getCurrentImage();
21 | }
22 | return QPixmap();
23 | }
24 |
--------------------------------------------------------------------------------
/15ImageViewerTest/imageprovider.h:
--------------------------------------------------------------------------------
1 | #ifndef IMAGEPROVIDER_H
2 | #define IMAGEPROVIDER_H
3 | #include "qquickimageprovider.h"
4 | #include "imgreceiver.h"
5 |
6 | class ImageProvider : public QQuickImageProvider
7 | {
8 | public:
9 | ImageProvider();
10 | ImageProvider(ImgReceiver *imgreceiver);
11 | QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize);
12 |
13 | private:
14 | ImgReceiver* m_receiver;
15 | };
16 |
17 | #endif // IMAGEPROVIDER_H
18 |
--------------------------------------------------------------------------------
/15ImageViewerTest/imagereceiverfactory.cpp:
--------------------------------------------------------------------------------
1 | #include "imagereceiverfactory.h"
2 | #include "diskimgreceiver.h"
3 | #include "nwimgreceiver.h"
4 |
5 | ImageReceiverFactory::ImageReceiverFactory()
6 | {
7 |
8 | }
9 |
10 | ImgReceiver *ImageReceiverFactory::getImageReceiver(ImageReceiverTypes type)
11 | {
12 | ImgReceiver* receiver = nullptr;
13 | switch (type) {
14 | case DISKIMAGE:
15 | receiver = new DiskImgReceiver();
16 | break;
17 | case NETWORKIMAGE:
18 | receiver = new NWImgReceiver();
19 | break;
20 | }
21 | return receiver;
22 | }
23 |
--------------------------------------------------------------------------------
/15ImageViewerTest/imagereceiverfactory.h:
--------------------------------------------------------------------------------
1 | #ifndef IMAGERECEIVERFACTORY_H
2 | #define IMAGERECEIVERFACTORY_H
3 |
4 | #include "imgreceiver.h"
5 | enum ImageReceiverTypes {
6 | DISKIMAGE,
7 | NETWORKIMAGE
8 | };
9 |
10 | class ImageReceiverFactory
11 | {
12 | public:
13 |
14 | ImageReceiverFactory();
15 | static ImgReceiver* getImageReceiver(ImageReceiverTypes type);
16 |
17 | private:
18 |
19 | };
20 |
21 | #endif // IMAGERECEIVERFACTORY_H
22 |
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3083.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3083.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3084.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3084.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3085.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3085.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3086.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3086.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3087.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3087.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3088.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3088.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3089.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3089.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3090.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3090.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3091.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3091.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3092.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3092.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3093.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3093.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3094.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3094.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3095.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3095.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3096.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3096.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3097.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3097.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3098.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3098.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3099.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3099.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3100.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3100.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3101.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3101.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3102.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3102.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3103.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3103.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3104.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3104.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3105.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3105.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3106.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3106.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3107.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3107.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3108.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3108.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3109.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3109.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3110.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3110.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3111.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3111.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3112.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3112.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3113.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3113.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3114.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3114.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3115.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3115.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3116.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3116.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3117.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3117.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3118.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3118.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3119.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3119.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3120.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3120.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3121.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3121.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3122.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3122.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3123.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3123.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3124.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3125.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3125.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3126.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3126.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3127.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3127.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3128.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3128.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3129.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3129.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3130.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3130.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3131.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3131.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3132.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3132.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3133.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3133.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3134.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3134.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3135.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3135.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3136.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3136.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3137.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3137.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3138.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3138.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3139.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3139.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3140.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3140.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3141.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3141.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3142.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3142.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3143.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3143.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3144.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3144.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3145.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3145.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3146.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3146.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3147.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3147.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3148.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3148.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3149.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3149.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3150.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3150.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3151.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3151.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3152.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3152.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3153.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3153.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3154.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3154.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3155.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3155.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3156.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3156.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3157.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3157.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3158.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3158.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3159.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3159.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3160.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3160.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3161.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3161.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3162.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3162.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3163.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3163.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3164.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3164.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3165.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3165.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3166.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3166.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3167.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3167.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3168.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3168.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3169.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3169.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3170.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3170.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3171.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3171.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3172.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3172.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3173.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3173.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3174.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3174.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3175.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3175.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3176.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3176.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3177.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3177.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3178.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3178.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3179.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3179.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3180.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3180.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3181.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3181.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3182.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3182.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3183.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3183.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3184.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3184.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3185.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3185.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3186.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3186.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3187.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3188.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3188.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3189.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3189.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3190.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3190.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3191.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3191.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3192.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3192.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3193.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3193.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3194.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3194.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3195.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3195.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/images/IMG_3196.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/15ImageViewerTest/images/IMG_3196.jpg
--------------------------------------------------------------------------------
/15ImageViewerTest/imgreceiver.cpp:
--------------------------------------------------------------------------------
1 | #include "imgreceiver.h"
2 | const int DEFAULT_IMAGE_WIDTH = 640;
3 | const int DEFAULT_IMAGE_HEIGHT = 480;
4 |
5 | ImgReceiver::ImgReceiver(QObject *parent) : QObject(parent)
6 | ,m_width(DEFAULT_IMAGE_WIDTH)
7 | ,m_height(DEFAULT_IMAGE_HEIGHT)
8 | {
9 |
10 | }
11 |
12 |
13 | int ImgReceiver::width()
14 | {
15 | return m_width;
16 | }
17 |
18 | int ImgReceiver::height()
19 | {
20 | return m_height;
21 | }
22 |
23 |
24 | void ImgReceiver::processImage()
25 | {
26 | emit imageReady();
27 | }
28 |
--------------------------------------------------------------------------------
/15ImageViewerTest/nwimgreceiver.h:
--------------------------------------------------------------------------------
1 | #ifndef NWIMGRECEIVER_H
2 | #define NWIMGRECEIVER_H
3 |
4 | #include "imgreceiver.h"
5 |
6 | class NWImgReceiver : public ImgReceiver
7 | {
8 | public:
9 | NWImgReceiver();
10 | QPixmap getCurrentImage();
11 | };
12 |
13 | #endif // NWIMGRECEIVER_H
14 |
--------------------------------------------------------------------------------
/15ImageViewerTest/readme.txt:
--------------------------------------------------------------------------------
1 | This project gives demo of how to read files from some source and render it on the qml component
2 | Source can be disk files, snapshot sequence from windows etc.
3 | Its little bit object oriented solution which shows how to capture image data and render it on screen
--------------------------------------------------------------------------------
/16listpicker/MyTabButton.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Controls 2.12
3 |
4 | TabButton {
5 | property var modelIndex
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/16listpicker/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/16listpicker/output.gif
--------------------------------------------------------------------------------
/16listpicker/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Picker.qml
5 | MyTabButton.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/17MenuItemTooltip/Dot.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 | id:root
5 | property bool flag: true
6 | width: 25
7 | height: 25
8 | radius: 10
9 | color: root.flag ? "green" : "red"
10 |
11 | MouseArea{
12 | anchors.fill: parent
13 | onClicked: {
14 | root.flag = !root.flag;
15 | }
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/17MenuItemTooltip/ReadMe.txt:
--------------------------------------------------------------------------------
1 | Menu item can't have tooltip if they are disabled.
2 | Since hover is also disabled for disabled menus and hence we can't show tool
3 | tip why menu item is disabled. Hence This project gives work around for fixing
4 | above problem
--------------------------------------------------------------------------------
/17MenuItemTooltip/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/17MenuItemTooltip/output.gif
--------------------------------------------------------------------------------
/17MenuItemTooltip/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Dot.qml
5 | GMenuItem.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/18OpacityMaskQML/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/18OpacityMaskQML/11.png
--------------------------------------------------------------------------------
/18OpacityMaskQML/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | #if defined(Q_OS_WIN)
7 | QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
8 | #endif
9 |
10 | QGuiApplication app(argc, argv);
11 |
12 | QQmlApplicationEngine engine;
13 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
14 | if (engine.rootObjects().isEmpty())
15 | return -1;
16 |
17 | return app.exec();
18 | }
19 |
--------------------------------------------------------------------------------
/18OpacityMaskQML/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/18OpacityMaskQML/output.gif
--------------------------------------------------------------------------------
/18OpacityMaskQML/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | 11.png
5 | AdjustableBar.qml
6 | AnnotationBar.qml
7 | Bracket.qml
8 | BracketPair.qml
9 | ScaleBar.qml
10 |
11 |
12 |
--------------------------------------------------------------------------------
/19OverFlowingRow/MButton.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Controls 2.4
3 |
4 | Rectangle {
5 | id:root
6 | property alias text: name.text
7 | property alias font: name.font
8 | signal clicked();
9 |
10 | height: 40
11 | width: 10
12 | color: "orange"
13 | Text {
14 | id: name
15 | anchors.centerIn: parent
16 | text: qsTr("text")
17 | font.pointSize: 20
18 | font.letterSpacing: 5
19 | }
20 |
21 | MouseArea {
22 | anchors.fill: parent
23 | onClicked: {
24 | root.clicked();
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/19OverFlowingRow/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/19OverFlowingRow/output.gif
--------------------------------------------------------------------------------
/19OverFlowingRow/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | MButton.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/19OverFlowingRow/readme.txt:
--------------------------------------------------------------------------------
1 | This project demonstrates how you can dynamically decide visibility of controls based on available width and so that
2 | controls don't overlap on each other or get trimmed.
3 | So there are 2 buttons which get hidden when window is resized to smaller width. Controls appear and disappear based on the width
4 | of the window
5 |
6 | This also uses logic to stop flickering of window when resizing.
7 | It makes use of following call
8 | QGuiApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
--------------------------------------------------------------------------------
/1AddingElementInQML_ListModel/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | #if defined(Q_OS_WIN)
7 | QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
8 | #endif
9 |
10 | QGuiApplication app(argc, argv);
11 |
12 | QQmlApplicationEngine engine;
13 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
14 | if (engine.rootObjects().isEmpty())
15 | return -1;
16 |
17 | return app.exec();
18 | }
19 |
--------------------------------------------------------------------------------
/1AddingElementInQML_ListModel/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/1AddingElementInQML_ListModel/output.gif
--------------------------------------------------------------------------------
/1AddingElementInQML_ListModel/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/1AddingElementInQML_ListModel/readme.txt:
--------------------------------------------------------------------------------
1 | Adding elements in QML list model.
2 | Note : Modifying javascript model. No C++ code.
3 |
4 | Usually you have c++ backend model for data
5 | but in this example we are adding elements directly in the QML model
--------------------------------------------------------------------------------
/20PassArrayToQML/GLineSeries.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtCharts 2.0
3 |
4 | LineSeries {
5 | function addPoint(x,y) {
6 | append(x,y);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/20PassArrayToQML/ReadMe.txt:
--------------------------------------------------------------------------------
1 | This project gives demo of
2 | 1. How to read csv file and create model out of it
3 | 2. How to pass arrays to QML
4 |
5 | This csv contains 4 graph lines , each line is represented by column
6 |
7 | In memory model, Each line is represented by Class GLine
8 | Graphreader has member list of GLines.
9 | It uses csvreader to read csv file and build this member list.
10 |
11 |
--------------------------------------------------------------------------------
/20PassArrayToQML/csvparser.h:
--------------------------------------------------------------------------------
1 | #ifndef CSVPARSER_H
2 | #define CSVPARSER_H
3 |
4 | #include
5 | #include
6 |
7 | class CSVParser : public QObject
8 | {
9 | Q_OBJECT
10 | public:
11 | explicit CSVParser(QObject *parent = nullptr);
12 | void parseFile(const QString& path,QList& lines);
13 |
14 | signals:
15 |
16 | public slots:
17 | };
18 |
19 | #endif // CSVPARSER_H
20 |
--------------------------------------------------------------------------------
/20PassArrayToQML/gline.cpp:
--------------------------------------------------------------------------------
1 | #include "gline.h"
2 |
3 | GLine::GLine()
4 | {
5 |
6 | }
7 |
8 | const QVariantList &GLine::points() const
9 | {
10 | return m_points;
11 | }
12 |
13 | void GLine::addPoint(double pos)
14 | {
15 | m_points.push_back(pos);
16 | }
17 |
--------------------------------------------------------------------------------
/20PassArrayToQML/gline.h:
--------------------------------------------------------------------------------
1 | #ifndef GLINE_H
2 | #define GLINE_H
3 |
4 | #include
5 | #include
6 |
7 | class GLine
8 | {
9 | public:
10 | explicit GLine();
11 | const QVariantList & points() const;
12 | void addPoint(double pos);
13 |
14 | signals:
15 |
16 | public slots:
17 |
18 | public:
19 | QVariantList m_points;
20 | };
21 |
22 | #endif // GLINE_H
23 |
--------------------------------------------------------------------------------
/20PassArrayToQML/graphreader.h:
--------------------------------------------------------------------------------
1 | #ifndef GRAPHREADER_H
2 | #define GRAPHREADER_H
3 |
4 | #include
5 | #include "gline.h"
6 |
7 | class GraphReader : public QObject
8 | {
9 | Q_OBJECT
10 | public:
11 | explicit GraphReader(QObject *parent = nullptr);
12 | void buildGraph();
13 | Q_INVOKABLE int lineCount();
14 | Q_INVOKABLE const QVariantList linePoints(int index);
15 |
16 | signals:
17 |
18 | public slots:
19 |
20 | public:
21 | QList m_lines;
22 |
23 | };
24 |
25 | #endif // GRAPHREADER_H
26 |
--------------------------------------------------------------------------------
/20PassArrayToQML/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/20PassArrayToQML/output.gif
--------------------------------------------------------------------------------
/20PassArrayToQML/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Line_Graph.csv
5 | View1.qml
6 | GLineSeries.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/images/1.png
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/images/dada1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/images/dada1.png
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/images/sanu1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/images/sanu1.png
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/images/sanu2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/images/sanu2.png
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/images/sanu3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/images/sanu3.png
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/output.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/21ProfilePhotoUsingOpacityMask/output.PNG
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | images/dada1.png
5 | images/sanu1.png
6 | images/sanu2.png
7 | images/sanu3.png
8 | ProfilePicture.qml
9 | images/1.png
10 |
11 |
12 |
--------------------------------------------------------------------------------
/21ProfilePhotoUsingOpacityMask/readme.txt:
--------------------------------------------------------------------------------
1 | this project shows use of opacity mask to create
2 | profile picture.
3 | This project creates a component which can be used in
4 | other applications directly.
5 | IT takes image source, width and height of the profile
6 | photo and will create same
--------------------------------------------------------------------------------
/22ReadFileBuildModel/filehandler.h:
--------------------------------------------------------------------------------
1 | #ifndef FILEHANDLER_H
2 | #define FILEHANDLER_H
3 |
4 | #include
5 |
6 | class FileHandler : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit FileHandler(QObject *parent = nullptr);
11 |
12 | void readFile(QString& path,QStringList& list);
13 | void writeFile(QString& path);
14 |
15 | signals:
16 |
17 | public slots:
18 | };
19 |
20 | #endif // FILEHANDLER_H
21 |
--------------------------------------------------------------------------------
/22ReadFileBuildModel/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 1.4
4 |
5 | Window {
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Hello World")
10 |
11 | ScrollView {
12 | anchors.fill: parent
13 | ListView {
14 | anchors.fill: parent
15 | spacing: 5
16 | model: linesmodel
17 | delegate: Rectangle {
18 | height: 25
19 | width: 100
20 | Text { text: title }
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/22ReadFileBuildModel/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/23SnakesPathTesting/filereader.h:
--------------------------------------------------------------------------------
1 | #ifndef FILEREADER_H
2 | #define FILEREADER_H
3 |
4 | #include
5 | #include
6 |
7 | class FileReader : public QObject
8 | {
9 | Q_OBJECT
10 | public:
11 | explicit FileReader(QObject *parent = nullptr);
12 |
13 | Q_INVOKABLE void readFile(const int filename);
14 | Q_INVOKABLE int getPoints();
15 | Q_INVOKABLE int getX(int index);
16 | Q_INVOKABLE int getY(int index);
17 |
18 | signals:
19 |
20 | public slots:
21 |
22 | private:
23 | QVector m_points;
24 | };
25 |
26 | #endif // FILEREADER_H
27 |
--------------------------------------------------------------------------------
/23SnakesPathTesting/images/board.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/23SnakesPathTesting/images/board.jpg
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/StudentTest/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QGuiApplication app(argc, argv);
7 |
8 | QString path = app.applicationDirPath().append("/../..");
9 | app.addLibraryPath(path);
10 |
11 | QQmlApplicationEngine engine;
12 | engine.addImportPath(path);
13 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
14 |
15 | return app.exec();
16 | }
17 |
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/StudentTest/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/StudentUser.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS += \
4 | StudentTest \
5 | student\student.pro
6 |
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/student/qmldir:
--------------------------------------------------------------------------------
1 | module student
2 | plugin student
3 |
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/student/student_plugin.cpp:
--------------------------------------------------------------------------------
1 | #include "student_plugin.h"
2 | #include "student.h"
3 |
4 | #include
5 |
6 | void StudentPlugin::registerTypes(const char *uri)
7 | {
8 | // @uri student
9 | qmlRegisterType(uri, 1, 0, "Student");
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/24StudentUserC++PluginsForQML/student/student_plugin.h:
--------------------------------------------------------------------------------
1 | #ifndef STUDENT_PLUGIN_H
2 | #define STUDENT_PLUGIN_H
3 |
4 | #include
5 |
6 | class StudentPlugin : public QQmlExtensionPlugin
7 | {
8 | Q_OBJECT
9 | Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
10 |
11 | public:
12 | void registerTypes(const char *uri) override;
13 | };
14 |
15 | #endif // STUDENT_PLUGIN_H
16 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/MyCell.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Layouts 1.12
3 |
4 | Text {
5 | text: ""
6 | Layout.fillWidth: true
7 | font.pixelSize: 20
8 | }
9 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/Readme.txt:
--------------------------------------------------------------------------------
1 | This project contains demo of
2 | 1. Reading ini file and building model
3 | 2. Rendering c++ model in QML using listview.
--------------------------------------------------------------------------------
/25TableViewManualDemo/inimodel.cpp:
--------------------------------------------------------------------------------
1 | #include "inimodel.h"
2 |
3 | IniModel::IniModel(QObject *parent) : QObject(parent)
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/inimodel.h:
--------------------------------------------------------------------------------
1 | #ifndef INIMODEL_H
2 | #define INIMODEL_H
3 |
4 | #include
5 | class IniModel : public QObject
6 | {
7 | Q_OBJECT
8 | public:
9 | explicit IniModel(QObject *parent = nullptr);
10 |
11 |
12 | signals:
13 |
14 | public slots:
15 |
16 | private:
17 |
18 | };
19 |
20 | #endif // INIMODEL_H
21 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/inireader.h:
--------------------------------------------------------------------------------
1 | #ifndef INIREADER_H
2 | #define INIREADER_H
3 |
4 | #include
5 |
6 | class IniReader : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit IniReader(QObject *parent = nullptr);
11 | void readInit(QString path);
12 |
13 | signals:
14 |
15 | public slots:
16 |
17 | private:
18 | };
19 |
20 | #endif // INIREADER_H
21 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.9
2 | import QtQuick.Window 2.2
3 |
4 | Window {
5 | visible: true
6 | width: 1600
7 | height: 480
8 | title: qsTr("Hello World")
9 |
10 | Rectangle {
11 | id:headers
12 | width: 1600
13 | height: 50
14 | color: "lightblue"
15 | MyHeader {
16 |
17 | }
18 | }
19 |
20 | TableData {
21 | anchors.top: headers.bottom
22 | anchors.topMargin: 40
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/25TableViewManualDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | MyCell.qml
5 | MyHeader.qml
6 | reformat_presets.ini
7 | TableData.qml
8 | TableRow.qml
9 |
10 |
11 |
--------------------------------------------------------------------------------
/26TabViewAndAlertMessage/IMsgModel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 |
4 | class IMsgModel {
5 |
6 | public:
7 | virtual ~IMsgModel() = default;
8 |
9 | enum Type {
10 | InfoMsg, // Will show up in bottom right corner of PL
11 | ErrorMsg, // Will show up in bottom left corner of the viewer (above panel if applicable)
12 | WarningMsg
13 | };
14 | };
15 |
--------------------------------------------------------------------------------
/26TabViewAndAlertMessage/IPopupManager.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "IMsgModel.h"
4 | #include
5 |
6 | class IPopupManager {
7 | public:
8 | virtual void showAlert(const QString& text, IMsgModel::Type type) = 0;
9 |
10 | };
11 |
--------------------------------------------------------------------------------
/26TabViewAndAlertMessage/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/26TabViewAndAlertMessage/output.gif
--------------------------------------------------------------------------------
/26TabViewAndAlertMessage/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | StudentDetails.qml
5 | AddStudent.qml
6 | MsgPopup.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/26TabViewAndAlertMessage/readme.txt:
--------------------------------------------------------------------------------
1 | This project takes student list and shows all records on screen.
2 | You can add new student record in model and MVC will update view.
3 | It will also show you notification popup dynamically which will disappear automatically after some time.
4 |
5 | It shows how to add element in model
6 | How to show dynamic popup using animations indicating that model has been changed.
7 | and display updated model using model view controller.
8 | this also shows use of tabs in QML
--------------------------------------------------------------------------------
/27TextAreaButtonMenu/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | Window {
5 | visible: true
6 | width: 640
7 | height: 480
8 | title: qsTr("Hello World")
9 |
10 | FriendsTextArea
11 | {
12 | width: 400
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/27TextAreaButtonMenu/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/27TextAreaButtonMenu/output.gif
--------------------------------------------------------------------------------
/27TextAreaButtonMenu/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | FriendsTextArea.qml
5 | FriendsMenu.qml
6 | Grippers.qml
7 | icons/gripper.svg
8 |
9 |
10 |
--------------------------------------------------------------------------------
/27TextAreaButtonMenu/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows a component which is combination of TextArea, Button and Menu.
2 | TextArea has gripper icon which can extend to multiple lines.
3 | Button internally has Menu which can be raised by clicking on button.
4 | On Selection of menu, we update text area text.
--------------------------------------------------------------------------------
/28TextMetricsdemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/28TextMetricsdemo/output.gif
--------------------------------------------------------------------------------
/28TextMetricsdemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/29todo-list_C++QMLIntegration/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | Window {
5 | visible: true
6 | width: 640
7 | height: 480
8 | title: qsTr("Hello World")
9 |
10 | ToDoList {
11 | anchors.centerIn: parent
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/29todo-list_C++QMLIntegration/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/29todo-list_C++QMLIntegration/output.gif
--------------------------------------------------------------------------------
/29todo-list_C++QMLIntegration/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | ToDoList.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/2ArrayToView/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/2ArrayToView/readme.txt:
--------------------------------------------------------------------------------
1 | Simple application to show array elements in view model
--------------------------------------------------------------------------------
/30translationdemo/hellotr_la.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/30translationdemo/hellotr_la.qm
--------------------------------------------------------------------------------
/30translationdemo/hellotr_la.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | main
6 |
7 |
8 | Hello World
9 | salve mundi
10 |
11 |
12 |
13 | thank you!
14 | gratias tibi!
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/30translationdemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | import QtQuick.Controls 2.4
5 |
6 | Window {
7 | visible: true
8 | width: 640
9 | height: 480
10 | title: qsTr("Hello World")
11 |
12 | Button {
13 | text: qsTr("thank you!")
14 | onClicked: {
15 | console.log("thank you clicked")
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/30translationdemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ArchitectureExample.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS += \
4 | ExamplePlugin/exampleplugin.pro \
5 | ExampleUI
6 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExamplePlugin/ExamplePlugin.cpp:
--------------------------------------------------------------------------------
1 | #include "ExamplePlugin.h"
2 | #include "PatientProvider.h"
3 | #include "Patient.h"
4 |
5 | #include
6 |
7 | void ExamplePlugin::registerTypes(const char *uri)
8 | {
9 | qmlRegisterSingletonType(uri, 1, 0, "PatientProvider", &PatientProvider::instance);
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExamplePlugin/ExamplePlugin.h:
--------------------------------------------------------------------------------
1 | #ifndef EXAMPLEPLUGIN_PLUGIN_H
2 | #define EXAMPLEPLUGIN_PLUGIN_H
3 |
4 | #include
5 |
6 | class ExamplePlugin : public QQmlExtensionPlugin
7 | {
8 | Q_OBJECT
9 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
10 |
11 | public:
12 | void registerTypes(const char *uri);
13 | };
14 |
15 | #endif // EXAMPLEPLUGIN_PLUGIN_H
16 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExamplePlugin/Patient.cpp:
--------------------------------------------------------------------------------
1 | #include "Patient.h"
2 |
3 | Patient::Patient(QString name, int age):
4 | m_name(name), m_age(age) {}
5 |
6 | Patient::~Patient() {}
7 |
8 | QString Patient::getName() {
9 | return m_name;
10 | }
11 |
12 | void Patient::setName(QString name) {
13 | m_name = name;
14 | }
15 |
16 | int Patient::getAge() {
17 | return m_age;
18 | }
19 |
20 | void Patient::setAge(int age) {
21 | m_age = age;
22 | }
23 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExamplePlugin/Patient.h:
--------------------------------------------------------------------------------
1 | #ifndef PATIENT_H
2 | #define PATIENT_H
3 |
4 | #include
5 |
6 | class Patient
7 | {
8 | public:
9 | Patient(QString name = "", int age = 0);
10 | ~Patient();
11 |
12 | QString getName();
13 | void setName(QString name);
14 | int getAge();
15 | void setAge(int age);
16 |
17 | private:
18 | QString m_name;
19 | int m_age;
20 | };
21 |
22 | #endif // PATIENT_H
23 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExamplePlugin/qmldir:
--------------------------------------------------------------------------------
1 | module ExamplePlugin
2 | plugin ExamplePlugin
3 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExampleUI/ExampleUI.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 |
3 | QT += qml quick
4 | CONFIG += c++11
5 |
6 | SOURCES += main.cpp
7 |
8 | RESOURCES += qml.qrc
9 |
10 | # Additional import path used to resolve QML modules in Qt Creator's code model
11 | QML_IMPORT_PATH =
12 |
13 | # Default rules for deployment.
14 | include(deployment.pri)
15 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExampleUI/deployment.pri:
--------------------------------------------------------------------------------
1 | unix:!android {
2 | isEmpty(target.path) {
3 | qnx {
4 | target.path = /tmp/$${TARGET}/bin
5 | } else {
6 | target.path = /opt/$${TARGET}/bin
7 | }
8 | export(target.path)
9 | }
10 | INSTALLS += target
11 | }
12 |
13 | export(INSTALLS)
14 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExampleUI/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | int main(int argc, char* argv[])
6 | {
7 | QGuiApplication app(argc, argv);
8 |
9 | QString path = app.applicationDirPath().append("/../..");
10 | app.addLibraryPath(path);
11 |
12 | QQmlApplicationEngine engine;
13 | engine.addImportPath(path);
14 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
15 |
16 | return app.exec();
17 | }
18 |
--------------------------------------------------------------------------------
/31UIArchitectureExample/ExampleUI/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/32UseOfModelsWithCustomDropDown/ReadMe.txt:
--------------------------------------------------------------------------------
1 | How to use models in QT / QML ?
2 |
3 | Create a class by deriving it from QObject / QAbstractList
4 |
5 | You can register this class with QML by using Context property or By Using qmlRegisterType() function.
6 |
7 | QQmlApplicationEngine engine;
8 | qmlRegisterType("Stud",1,0,"Student");
9 |
10 | Student student;
11 | engine.rootContext()->setContextProperty("student",&student);
--------------------------------------------------------------------------------
/32UseOfModelsWithCustomDropDown/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.9
2 | import QtQuick.Window 2.2
3 | import QtQuick.Controls 2.2
4 |
5 | Window {
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Hello World")
10 |
11 | function scaled(size) { return size * 1 }
12 | function scaledInt(size) { return Math.round(scaled(size)) }
13 |
14 | DropDown {
15 | anchors.centerIn: parent
16 | width: 300
17 | placeholderText: qsTr("Select Radiologist")
18 | model:userListModel
19 | textRole: "name"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/32UseOfModelsWithCustomDropDown/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DropDown.qml
5 | CustomMenuItem.qml
6 | DropdownBackground.qml
7 | DropDownModels.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/32UseOfModelsWithCustomDropDown/user.cpp:
--------------------------------------------------------------------------------
1 | #include "user.h"
2 |
3 | User::User(QObject *parent) : QObject(parent)
4 | {
5 | m_name="";
6 | m_color="red";
7 | }
8 |
9 | User::User(QString name,QString col)
10 | {
11 | m_name=name;
12 | m_color=col;
13 | }
14 |
15 | QString User::name()
16 | {
17 | return m_name;
18 | }
19 |
20 | void User::setName(QString name)
21 | {
22 | m_name = name;
23 | }
24 |
25 | QString User::col()
26 | {
27 | return m_color;
28 | }
29 |
30 | void User::setCol(QString col)
31 | {
32 | m_color = col;
33 | }
34 |
--------------------------------------------------------------------------------
/33SpeedOFUpdatingModelsInMVC/StudDialog.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Dialogs 1.2
3 | import QtQuick.Controls 2.5
4 |
5 | Dialog {
6 | id: root
7 | width: 300
8 | height: 300
9 |
10 | Rectangle {
11 | anchors.fill: parent
12 | color: "gray"
13 | }
14 |
15 | Button {
16 | text: "Ok"
17 | anchors.bottom: parent.bottom
18 | anchors.right: parent.right
19 | onClicked: {
20 | stud.addStudentsOneByOne();
21 | root.accept();
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/33SpeedOFUpdatingModelsInMVC/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/33SpeedOFUpdatingModelsInMVC/output.gif
--------------------------------------------------------------------------------
/33SpeedOFUpdatingModelsInMVC/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Studui.qml
5 | StudDialog.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/33SpeedOFUpdatingModelsInMVC/readme.txt:
--------------------------------------------------------------------------------
1 | I created separate POC application to show slowness in MVC based on how we update the model.
2 | When we emit updates to the model for each entry in the model it becomes slow.
3 | When we emit updates only when model is updated fully its comparatively faster.
--------------------------------------------------------------------------------
/34DynamicComponentCreationWithBinding/TestPopup.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Controls 2.4
3 |
4 | Popup {
5 | x: 100
6 | y: 100
7 | modal: true
8 | focus: true
9 | closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
10 | visible: false
11 |
12 | Rectangle {
13 | anchors.fill: parent
14 | color: "green"
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/34DynamicComponentCreationWithBinding/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/34DynamicComponentCreationWithBinding/output.gif
--------------------------------------------------------------------------------
/34DynamicComponentCreationWithBinding/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | TestPopup.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/34ECGWave/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/34ECGWave/output.png
--------------------------------------------------------------------------------
/34ECGWave/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/35InsertOperationOnModels/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/35InsertOperationOnModels/output.gif
--------------------------------------------------------------------------------
/35InsertOperationOnModels/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/36InsertRemoveUpdateCPPModel/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/36InsertRemoveUpdateCPPModel/output.gif
--------------------------------------------------------------------------------
/36InsertRemoveUpdateCPPModel/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/37CPPmodelOperations/SymbolText.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Text {
4 | text: qsTr("+")
5 | font.pointSize: 20
6 | anchors.centerIn: parent
7 | }
8 |
--------------------------------------------------------------------------------
/37CPPmodelOperations/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/37CPPmodelOperations/output.gif
--------------------------------------------------------------------------------
/37CPPmodelOperations/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | SymbolText.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/37PlaintTextVsStyleTextDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/37PlaintTextVsStyleTextDemo/output.gif
--------------------------------------------------------------------------------
/37PlaintTextVsStyleTextDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/38WorkerscriptDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/38WorkerscriptDemo/output.gif
--------------------------------------------------------------------------------
/38WorkerscriptDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | script.mjs
5 |
6 |
7 |
--------------------------------------------------------------------------------
/38WorkerscriptDemo/script.mjs:
--------------------------------------------------------------------------------
1 | WorkerScript.onMessage = function(message) {
2 | // ... long-running operations and calculations are done here
3 | WorkerScript.sendMessage({ 'reply': 'Mouse is at ' + message.x + ',' + message.y })
4 | }
5 |
--------------------------------------------------------------------------------
/39StackWidgetDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 2.0
4 |
5 | Window {
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Stack lauout demo")
10 |
11 | Button {
12 | text: qsTr("Raise Dialog")
13 | onClicked: {
14 | popup.open();
15 | }
16 | }
17 |
18 | AboutPopup {
19 | id: popup
20 | width: 400
21 | height: 400
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/39StackWidgetDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/39StackWidgetDemo/output.gif
--------------------------------------------------------------------------------
/39StackWidgetDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | AboutPopup.qml
5 | MyPage.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/3BusAndSignal/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/3BusAndSignal/output.gif
--------------------------------------------------------------------------------
/3BusAndSignal/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Wheel.qml
5 | Bus.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/40QuickItemDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/40QuickItemDemo/output.gif
--------------------------------------------------------------------------------
/40QuickItemDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/40QuickItemDemo/readme.txt:
--------------------------------------------------------------------------------
1 | This project gives demo of how to use qquickitem class to create custom QML control.
2 | In THis class a new custom control has been created called triangle.
3 |
--------------------------------------------------------------------------------
/41QuickVTKDemo/VtkFboInQtQuickConfig.h.in:
--------------------------------------------------------------------------------
1 | #ifndef VTKFBOINQTQUICKCONFIG_H_IN
2 | #define VTKFBOINQTQUICKCONFIG_H_IN
3 |
4 | #define PROJECT_SOURCE_DIR "@PROJECT_SOURCE_DIR@"
5 | #define PROJECT_BINARY_DIR "@PROJECT_BINARY_DIR@"
6 |
7 | #endif // VTKFBOINQTQUICKCONFIG_H_IN
8 |
--------------------------------------------------------------------------------
/41QuickVTKDemo/run.bat:
--------------------------------------------------------------------------------
1 | #set QT5_DIR=C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
2 | set QT5_DIR=C:/dev/Packages/hologic.qt.bin.5.12.2
3 | set VTK_DIR=C:/Program Files (x86)/VTK
4 | PATH=%QT5_DIR%/bin/;%VTK_DIR%/bin;%PATH%
5 | set QML_FORCE_THREADED_RENDERER="1"
6 | "build/VtkFboInQtQuick.sln"
--------------------------------------------------------------------------------
/42LazyLoadingDemo/Drinks.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | import Market 1.0
4 |
5 | Item {
6 |
7 | Drink {
8 | id: drink
9 | }
10 |
11 | Rectangle {
12 | anchors.fill: parent
13 | color: "red"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/Fruits.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import Market 1.0
3 |
4 | Item {
5 |
6 | Fruit {
7 | id: fruit
8 | }
9 |
10 | Rectangle {
11 | anchors.fill: parent
12 | color: "green"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/MyPopup.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Controls 2.12
3 |
4 | Popup {
5 |
6 | width: 300
7 | height: 300
8 | Rectangle {
9 | anchors.fill: parent
10 | color: "pink"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/MyScreen.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Layouts 1.12
3 |
4 | Item {
5 |
6 | RowLayout {
7 | Drinks {
8 | id: drinks
9 | Layout.fillWidth: true
10 | Layout.fillHeight: true
11 | }
12 | Fruits {
13 | id: fruits
14 | Layout.fillWidth: true
15 | Layout.fillHeight: true
16 | }
17 | Vegetables {
18 | id: veggy
19 | Layout.fillWidth: true
20 | Layout.fillHeight: true
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/Vegetables.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import Market 1.0
3 |
4 | Item {
5 |
6 | Veg {
7 | id:veg
8 | }
9 |
10 | Rectangle {
11 | anchors.fill: parent
12 | color: "blue"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/drinkclass.cpp:
--------------------------------------------------------------------------------
1 | #include "drinkclass.h"
2 | #include
3 |
4 | DrinkClass::DrinkClass(QObject *parent) : QObject(parent)
5 | {
6 | qDebug() << "DrinkClass constructor called!";
7 | }
8 |
9 | void DrinkClass::func()
10 | {
11 | qDebug() << "DrinkClass func called!";
12 | }
13 |
14 | DrinkClass::~DrinkClass()
15 | {
16 | qDebug() << "DrinkClass destructor called!";
17 | }
18 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/drinkclass.h:
--------------------------------------------------------------------------------
1 | #ifndef DRINKCLASS_H
2 | #define DRINKCLASS_H
3 |
4 | #include
5 |
6 | class DrinkClass : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit DrinkClass(QObject *parent = nullptr);
11 | Q_INVOKABLE void func();
12 | ~DrinkClass();
13 |
14 | signals:
15 |
16 | };
17 |
18 | #endif // DRINKCLASS_H
19 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/fruitclass.cpp:
--------------------------------------------------------------------------------
1 | #include "fruitclass.h"
2 | #include
3 |
4 | FruitClass::FruitClass(QObject *parent) : QObject(parent)
5 | {
6 | qDebug() << "FruitClass constructor called!";
7 | }
8 |
9 | void FruitClass::func()
10 | {
11 | qDebug() << "FruitClass func called!";
12 | }
13 |
14 | FruitClass::~FruitClass()
15 | {
16 | qDebug() << "FruitClass destructor called!";
17 | }
18 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/fruitclass.h:
--------------------------------------------------------------------------------
1 | #ifndef FRUITCLASS_H
2 | #define FRUITCLASS_H
3 |
4 | #include
5 |
6 | class FruitClass : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit FruitClass(QObject *parent = nullptr);
11 | Q_INVOKABLE void func();
12 | ~FruitClass();
13 |
14 | signals:
15 |
16 | };
17 |
18 | #endif // FRUITCLASS_H
19 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/42LazyLoadingDemo/output.gif
--------------------------------------------------------------------------------
/42LazyLoadingDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Fruits.qml
5 | Vegetables.qml
6 | Drinks.qml
7 | MyScreen.qml
8 | MyPopup.qml
9 |
10 |
11 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/vegetableclass.cpp:
--------------------------------------------------------------------------------
1 | #include "vegetableclass.h"
2 | #include
3 |
4 | VegetableClass::VegetableClass(QObject *parent) : QObject(parent)
5 | {
6 | qDebug() << "VegetableClass constructor called!";
7 | }
8 |
9 | void VegetableClass::func()
10 | {
11 | qDebug() << "Vegetable func called!";
12 | }
13 |
14 | VegetableClass::~VegetableClass()
15 | {
16 | qDebug() << "VegetableClass destructor called!";
17 | }
18 |
--------------------------------------------------------------------------------
/42LazyLoadingDemo/vegetableclass.h:
--------------------------------------------------------------------------------
1 | #ifndef VEGETABLECLASS_H
2 | #define VEGETABLECLASS_H
3 |
4 | #include
5 |
6 | class VegetableClass : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit VegetableClass(QObject *parent = nullptr);
11 | Q_INVOKABLE void func();
12 | ~VegetableClass();
13 |
14 | signals:
15 |
16 | };
17 |
18 | #endif // VEGETABLECLASS_H
19 |
--------------------------------------------------------------------------------
/43SendingStringListTOQml/ReadMe.txt:
--------------------------------------------------------------------------------
1 | THis project demo shows how to send string list to qml from CPP
2 | This is simple,. You have to create QStringList and add as property
3 | Expose class to QML using registertype and you can simply use this property to refer to list of strings
4 |
5 |
--------------------------------------------------------------------------------
/43SendingStringListTOQml/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/43SendingStringListTOQml/script.mjs:
--------------------------------------------------------------------------------
1 | WorkerScript.onMessage = function(message) {
2 | // ... long-running operations and calculations are done here
3 | WorkerScript.sendMessage({ 'reply': 'Mouse is at ' + message.x + ',' + message.y })
4 | }
5 |
--------------------------------------------------------------------------------
/43SendingStringListTOQml/student.cpp:
--------------------------------------------------------------------------------
1 | #include "student.h"
2 |
3 | Student::Student(QObject *parent) : QObject(parent)
4 | {
5 | s_list << "Girish" << "SAmeer" << "Sachin";
6 | }
7 |
8 | QStringList Student::slist()
9 | {
10 | return s_list;
11 | }
12 |
13 | void Student::addStringInList()
14 | {
15 | s_list << QString("Student" + QString::number(s_list.size() + 1));
16 | }
17 |
18 | int Student::slistSize()
19 | {
20 | return s_list.size();
21 | }
22 |
--------------------------------------------------------------------------------
/43SendingStringListTOQml/student.h:
--------------------------------------------------------------------------------
1 | #ifndef STUDENT_H
2 | #define STUDENT_H
3 |
4 | #include
5 | #include
6 |
7 | class Student : public QObject
8 | {
9 | Q_OBJECT
10 | public:
11 | explicit Student(QObject *parent = nullptr);
12 | Q_PROPERTY(QStringList slist READ slist NOTIFY slistChanged)
13 |
14 | QStringList slist();
15 | Q_INVOKABLE void addStringInList();
16 | Q_INVOKABLE int slistSize();
17 |
18 | signals:
19 | void slistChanged();
20 |
21 | private:
22 | QStringList s_list;
23 | };
24 |
25 | #endif // STUDENT_H
26 |
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/LayoutLine.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Layouts 1.12
3 |
4 | Rectangle {
5 | Layout.fillHeight: true
6 | width: 2
7 | border.color: "black"
8 | border.width: 1
9 | }
10 |
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/Readme.txt:
--------------------------------------------------------------------------------
1 | This project demonstrates how to use QSetting class to read and write ini files.
2 |
3 | In this project we create listmodel by reading ini file.
4 | This model is displayed on the view.
5 | You can update view values and it will reflect the model immediately.
6 | You can store the updated model in another configuration file.
7 |
8 | For reading and write to the configuration file we use QSettings class.
9 |
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/configuration/layoutsA.ini:
--------------------------------------------------------------------------------
1 | [General]
2 | max=20
3 | columnBMinLimit=1
4 | columnBMaxLimit=8
5 | columnCMinLimit=1
6 | columnCMaxLimit=8
7 |
8 | [0]
9 | title=1x1
10 | columnB=1
11 | columnC=1
12 | readOnly=true
13 | shortCut=
14 |
15 | [1]
16 | title=1x2
17 | columnB=1
18 | columnC=2
19 | readOnly=true
20 | shortCut=
21 |
22 | [2]
23 | title=2x2
24 | columnB=2
25 | columnC=2
26 | readOnly=true
27 | shortCut=
28 |
29 | [3]
30 | title=2x4
31 | columnB=2
32 | columnC=4
33 | readOnly=true
34 | shortCut=
35 |
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import MyConfig 1.0
4 | import QtQuick.Layouts 1.12
5 | import QtQuick.Controls 2.12
6 | import QtQuick.Dialogs 1.2
7 |
8 | Window {
9 | visible: true
10 | width: 640
11 | height: 480
12 | title: qsTr("Hello World")
13 |
14 |
15 | LayoutView{
16 | anchors.fill: parent
17 | }
18 |
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/44iniFileReadWriteDemo/output.gif
--------------------------------------------------------------------------------
/44iniFileReadWriteDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | SText.qml
5 | LayoutLine.qml
6 | LayoutView.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/45StatesAndTransitionsDemo/SignalBlob.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 | width: 50
5 | height: 50
6 | radius: 25
7 | color: "red"
8 | }
9 |
--------------------------------------------------------------------------------
/45StatesAndTransitionsDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/45StatesAndTransitionsDemo/output.gif
--------------------------------------------------------------------------------
/45StatesAndTransitionsDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | SignalBlob.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/46slidertest/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/46slidertest/output.gif
--------------------------------------------------------------------------------
/46slidertest/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/47ColorPalleteDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/47ColorPalleteDemo/output.gif
--------------------------------------------------------------------------------
/47ColorPalleteDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GColorpallete.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/48SliderDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/48SliderDemo/output.gif
--------------------------------------------------------------------------------
/48SliderDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GSlider.qml
5 | GColorpallete.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow4.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow5.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow6.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/images/arrow7.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/49SliderWithArrow/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/49SliderWithArrow/output.gif
--------------------------------------------------------------------------------
/49SliderWithArrow/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GSlider.qml
5 | images/arrow1.svg
6 | images/arrow2.svg
7 | images/arrow3.svg
8 | ArrowMarker.qml
9 | CustomSlider.qml
10 | GColorpallete.qml
11 | images/arrow4.svg
12 | images/arrow5.svg
13 | images/arrow6.svg
14 | images/arrow7.svg
15 |
16 |
17 |
--------------------------------------------------------------------------------
/4ButtonMenuDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/4ButtonMenuDemo/output.gif
--------------------------------------------------------------------------------
/4ButtonMenuDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | ButtonMenu.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/4ButtonMenuDemo/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of simple component which is Button and Menu.
2 | clicking on the button raises menu which is child element of button.
3 | Menu is limited by the size of parent control and gets resized accordingly.
--------------------------------------------------------------------------------
/50FilterModelDemoQML/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | Window {
5 | visible: true
6 | width: 640
7 | height: 480
8 | title: qsTr("QML Filter model Demo")
9 |
10 |
11 | FilterView {
12 | anchors.fill: parent
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/50FilterModelDemoQML/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/50FilterModelDemoQML/output.gif
--------------------------------------------------------------------------------
/50FilterModelDemoQML/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Myex.qml
5 | FilterView.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/51TableViewDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/51TableViewDemo/output.gif
--------------------------------------------------------------------------------
/51TableViewDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GTableView.qml
5 | TableModeldemo.qml
6 | TableViewWithAnimation.qml
7 | CustomTable.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/52listViewDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 2.12
4 | import QtQuick.Controls 1.4
5 |
6 | Window {
7 | visible: true
8 | width: 640
9 | height: 480
10 | title: qsTr("Hello World")
11 |
12 |
13 | TabView {
14 | anchors.fill: parent
15 | Tab {
16 | title: "List View Selection"
17 | ListViewSelection {}
18 | }
19 | Tab {
20 | title: "Custom List View"
21 | ListViewDemo{}
22 | }
23 | }
24 |
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/52listViewDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/52listViewDemo/output.gif
--------------------------------------------------------------------------------
/52listViewDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | ListViewDemo.qml
5 | ContactModel.qml
6 | ListViewSelection.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/53RowLayoutDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/53RowLayoutDemo/output.gif
--------------------------------------------------------------------------------
/53RowLayoutDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/54BusAnimation/TrafficSignal.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Item {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/54BusAnimation/images/bus.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/54BusAnimation/images/bus.jpg
--------------------------------------------------------------------------------
/54BusAnimation/images/wheel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/54BusAnimation/images/wheel.png
--------------------------------------------------------------------------------
/54BusAnimation/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 |
4 | Window {
5 | id: root
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Bus Animation")
10 |
11 | BusDemo{
12 | width: parent.width
13 | height: 300
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/54BusAnimation/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/54BusAnimation/output.gif
--------------------------------------------------------------------------------
/54BusAnimation/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | images/bus.jpg
5 | images/wheel.png
6 | TrafficSignal.qml
7 | BusDemo.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/55TrafficSignal/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/55TrafficSignal/output.gif
--------------------------------------------------------------------------------
/55TrafficSignal/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Demo1.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/56SingleTrafficSignal/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/56SingleTrafficSignal/output.gif
--------------------------------------------------------------------------------
/56SingleTrafficSignal/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | SignalAnimation.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/57TrafficSignlaFontDemo/fonts/digitalitalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/57TrafficSignlaFontDemo/fonts/digitalitalic.ttf
--------------------------------------------------------------------------------
/57TrafficSignlaFontDemo/fonts/digitalmono.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/57TrafficSignlaFontDemo/fonts/digitalmono.ttf
--------------------------------------------------------------------------------
/57TrafficSignlaFontDemo/fonts/digitalnormal.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/57TrafficSignlaFontDemo/fonts/digitalnormal.ttf
--------------------------------------------------------------------------------
/57TrafficSignlaFontDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/57TrafficSignlaFontDemo/output.gif
--------------------------------------------------------------------------------
/57TrafficSignlaFontDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | fonts/digitalitalic.ttf
5 | fonts/digitalmono.ttf
6 | fonts/digitalnormal.ttf
7 |
8 |
9 |
--------------------------------------------------------------------------------
/58SidePanelAnimation/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DrawerPanel.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/59ArnavTrafficSignal/fonts/digitalnormal.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/59ArnavTrafficSignal/fonts/digitalnormal.ttf
--------------------------------------------------------------------------------
/59ArnavTrafficSignal/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/59ArnavTrafficSignal/output.gif
--------------------------------------------------------------------------------
/59ArnavTrafficSignal/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | fonts/digitalnormal.ttf
5 |
6 |
7 |
--------------------------------------------------------------------------------
/5chessboard/icons/bbishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/bbishop.png
--------------------------------------------------------------------------------
/5chessboard/icons/bking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/bking.png
--------------------------------------------------------------------------------
/5chessboard/icons/bknight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/bknight.png
--------------------------------------------------------------------------------
/5chessboard/icons/bpawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/bpawn.png
--------------------------------------------------------------------------------
/5chessboard/icons/bqueen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/bqueen.png
--------------------------------------------------------------------------------
/5chessboard/icons/brook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/brook.png
--------------------------------------------------------------------------------
/5chessboard/icons/wbishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wbishop.png
--------------------------------------------------------------------------------
/5chessboard/icons/wking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wking.png
--------------------------------------------------------------------------------
/5chessboard/icons/wknight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wknight.png
--------------------------------------------------------------------------------
/5chessboard/icons/wpawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wpawn.png
--------------------------------------------------------------------------------
/5chessboard/icons/wqueen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wqueen.png
--------------------------------------------------------------------------------
/5chessboard/icons/wrook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/icons/wrook.png
--------------------------------------------------------------------------------
/5chessboard/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/5chessboard/output.png
--------------------------------------------------------------------------------
/5chessboard/readme.txt:
--------------------------------------------------------------------------------
1 | This project creates simple chessboard using qml repeater and grid.
2 | It uses svg images to put pieces on board at desired location.
--------------------------------------------------------------------------------
/60MultiThreadingScreenUpdates/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/60MultiThreadingScreenUpdates/output.gif
--------------------------------------------------------------------------------
/60MultiThreadingScreenUpdates/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | CurrentStudentView.qml
5 | ClassRoomsView.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/60MultiThreadingScreenUpdates/studentfiller.cpp:
--------------------------------------------------------------------------------
1 | #include "studentfiller.h"
2 | #include
3 | #include
4 |
5 | StudentFiller::StudentFiller(ClassRoom *model)
6 | :m_classroom(model){
7 |
8 | }
9 |
10 | void StudentFiller::run()
11 | {
12 | for(int i=1;i<=20;i++) {
13 | qDebug() << m_classroom->cname() << " Adding Student:" << i;
14 | emit addStudent();
15 | Sleep(1000);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/60MultiThreadingScreenUpdates/studentfiller.h:
--------------------------------------------------------------------------------
1 | #ifndef STUDENTFILLER_H
2 | #define STUDENTFILLER_H
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | class StudentFiller : public QThread
9 | {
10 | Q_OBJECT
11 | public:
12 | StudentFiller(ClassRoom* model);
13 |
14 | void run();
15 |
16 | signals:
17 | void addStudent();
18 |
19 | private:
20 | ClassRoom* m_classroom = nullptr;
21 | };
22 |
23 | #endif // STUDENTFILLER_H
24 |
--------------------------------------------------------------------------------
/61SmoothAnimation/images/dada1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/61SmoothAnimation/images/dada1.png
--------------------------------------------------------------------------------
/61SmoothAnimation/images/sanu2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/61SmoothAnimation/images/sanu2.png
--------------------------------------------------------------------------------
/61SmoothAnimation/ouput.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/61SmoothAnimation/ouput.gif
--------------------------------------------------------------------------------
/61SmoothAnimation/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | ProfilePicture.qml
5 | images/dada1.png
6 | images/sanu2.png
7 |
8 |
9 |
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/DragPerson.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 |
5 | property string pname: "DefaultName"
6 | width: 100
7 | height: 100
8 | radius: 10
9 | color: "red"
10 | Drag.active: mousearea.drag.active
11 |
12 | Text {
13 | id: name
14 | text: pname
15 | anchors.centerIn: parent
16 | }
17 | MouseArea {
18 | id: mousearea
19 | anchors.fill: parent
20 | drag.target: parent
21 | onReleased: parent.Drag.drop()
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/Output4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/Output4.gif
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/images/1.png
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/images/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/images/2.png
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/images/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/images/3.png
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/images/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/images/4.png
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/images/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/images/5.png
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 2.12
4 | import QtQuick.Layouts 1.12
5 |
6 | Window {
7 | id: root
8 | visible: true
9 | width: 640
10 | height: 480
11 | title: qsTr("Hello World")
12 |
13 | // ColorPicker{
14 |
15 | // }
16 |
17 | FootBall {
18 |
19 | }
20 |
21 | }
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/output1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/output1.gif
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/output2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/output2.gif
--------------------------------------------------------------------------------
/62DraggingAndDroppingDemo/output3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/62DraggingAndDroppingDemo/output3.gif
--------------------------------------------------------------------------------
/63ProgressbarBehavior/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/63ProgressbarBehavior/output.gif
--------------------------------------------------------------------------------
/63ProgressbarBehavior/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GSlider.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/64LoginScreen/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/64LoginScreen/output.gif
--------------------------------------------------------------------------------
/64LoginScreen/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | LoginPrompt.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/65ECGWaveAddPointsDynamically/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtCharts 2.0
4 | import QtQuick.Controls 2.4
5 |
6 | Item {
7 | id: root
8 | width: 800
9 | height: 600
10 | property bool sourceLoaded: false
11 |
12 | Rectangle {
13 | anchors.fill: parent
14 | color: "green"
15 | }
16 |
17 | Loader {
18 | width: root.width
19 | height: root.height
20 |
21 | source: "View1.qml"
22 | asynchronous: true
23 |
24 | onLoaded: sourceLoaded = true
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/65ECGWaveAddPointsDynamically/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/65ECGWaveAddPointsDynamically/output.gif
--------------------------------------------------------------------------------
/65ECGWaveAddPointsDynamically/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DummyPointGenerator.qml
5 | View1.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/65ECGWaveAddPointsDynamically/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of how to create interactive graphics on top of the QT charts using canvas tool.
2 |
3 | This project reads some points and draws lines in QT chart.
4 | User can interactively create some annotations on this graph using dynamic graphics.
5 | This is kind of cool. Mostly coding is done in javascript in qml files. Very little c++ support
--------------------------------------------------------------------------------
/66ECGWaveGraphConfiguration/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtCharts 2.0
4 | import QtQuick.Controls 2.4
5 |
6 | Item {
7 | id: root
8 | width: 800
9 | height: 600
10 | property bool sourceLoaded: false
11 |
12 | Rectangle {
13 | anchors.fill: parent
14 | color: "gray"
15 | }
16 |
17 | Loader {
18 | width: root.width
19 | height: root.height
20 |
21 | source: "View1.qml"
22 | asynchronous: true
23 |
24 | onLoaded: sourceLoaded = true
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/66ECGWaveGraphConfiguration/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/66ECGWaveGraphConfiguration/output.gif
--------------------------------------------------------------------------------
/66ECGWaveGraphConfiguration/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DummyPointGenerator.qml
5 | View1.qml
6 | ChartView1.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/66ECGWaveGraphConfiguration/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of how to create interactive graphics on top of the QT charts using canvas tool.
2 |
3 | This project reads some points and draws lines in QT chart.
4 | User can interactively create some annotations on this graph using dynamic graphics.
5 | This is kind of cool. Mostly coding is done in javascript in qml files. Very little c++ support
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/dock1.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/max1.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/max2.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/max3.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/mini1.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/mini2.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/mini4.jpg
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/images/mini5.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/output1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/output1.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/output2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/67ECGWaveOnDIalog/output2.png
--------------------------------------------------------------------------------
/67ECGWaveOnDIalog/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DrawerPanel.qml
5 | ChartView1.qml
6 | View1.qml
7 | images/dock1.png
8 | images/mini1.png
9 | images/mini2.png
10 | images/max1.png
11 | images/mini4.jpg
12 | images/mini5.png
13 | images/max2.png
14 | images/max3.png
15 |
16 |
17 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/Output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/Output.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/dock1.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/max1.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/max2.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/max3.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/mini1.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/mini2.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/mini4.jpg
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/68ECGWavePointReadFromDisk/images/mini5.png
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/68ECGWavePointReadFromDisk/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 | class WaveformUtils
10 | {
11 | public:
12 | WaveformUtils();
13 | };
14 |
15 | #endif // WAVEFORMUTILS_H
16 |
--------------------------------------------------------------------------------
/69WaveformGenerator/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/dock1.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/max1.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/max2.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/max3.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/mini1.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/mini2.png
--------------------------------------------------------------------------------
/69WaveformGenerator/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/mini4.jpg
--------------------------------------------------------------------------------
/69WaveformGenerator/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/images/mini5.png
--------------------------------------------------------------------------------
/69WaveformGenerator/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/69WaveformGenerator/output.gif
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/69WaveformGenerator/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/69WaveformGenerator/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/69WaveformGenerator/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/69WaveformGenerator/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 | class WaveformUtils
10 | {
11 | public:
12 | WaveformUtils();
13 | };
14 |
15 | #endif // WAVEFORMUTILS_H
16 |
--------------------------------------------------------------------------------
/6Course/QMLTraining.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/6Course/QMLTraining.pptx
--------------------------------------------------------------------------------
/6Course/Session1/Images/bus.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/6Course/Session1/Images/bus.jpg
--------------------------------------------------------------------------------
/6Course/Session1/Images/wheel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/6Course/Session1/Images/wheel.png
--------------------------------------------------------------------------------
/6Course/Session1/Images/wheel1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/6Course/Session1/Images/wheel1.png
--------------------------------------------------------------------------------
/6Course/Session1/fonts/digitalnormal.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/6Course/Session1/fonts/digitalnormal.ttf
--------------------------------------------------------------------------------
/6Course/readme.txt:
--------------------------------------------------------------------------------
1 | This project will contain all material useful for carrying out course teaching step by step manner.
2 |
3 | Introduction to QML
4 | content
5 | QML syntax
6 | Properties
7 | Elements(Item,Rectangle,Text,Image,MouseArea)
8 | Components
9 | Signals and Slots
10 | Positioners (Row, Column, Grid, Flow)
11 | Javascript
12 |
13 |
14 | Topic : QML by examples
15 | Topics:
16 |
17 | Rectangle
18 | Anchors
19 | transformation
20 | Layouts
21 | Connections
22 | Bindings
23 | Timer
24 | Model View Controller
25 | States and Transitions
26 | Animations
27 |
28 |
29 |
--------------------------------------------------------------------------------
/70ScrollviewDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/70ScrollviewDemo/output.gif
--------------------------------------------------------------------------------
/70ScrollviewDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/dock1.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/max1.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/max2.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/max3.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/mini1.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/mini2.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/mini4.jpg
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/images/mini5.png
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/71ECGMultipleWaveformDisplay/output.gif
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=15
5 | 0,3.5
6 | 0.5,3.8
7 | 1,3.5
8 | 2,3.5
9 | 2.5,2
10 | 4,12
11 | 4.5,4
12 | 5,4.8
13 | 5.5,4
14 | 6,4.2
15 | 7,5
16 | 8,7
17 | 9,3
18 | 10,3.5
19 | 11,3
20 | 12,3.5
21 | 13,3
22 | 14,3.5
23 | 14.5,4
24 | 15.5,2
25 | 16,9
26 | 16.5,3.5
27 | 17,4
28 | 17.5,3.5
29 | 20,3.5
30 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/ecgugly.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/71ECGMultipleWaveformDisplay/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 | class WaveformUtils
10 | {
11 | public:
12 | WaveformUtils();
13 | };
14 |
15 | #endif // WAVEFORMUTILS_H
16 |
--------------------------------------------------------------------------------
/72WaveSketching/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtCharts 2.0
4 | import QtQuick.Controls 2.4
5 |
6 | Item {
7 | width: 800
8 | height: 600
9 | property bool sourceLoaded: false
10 |
11 | View1 {
12 |
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/72WaveSketching/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/72WaveSketching/output.gif
--------------------------------------------------------------------------------
/72WaveSketching/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DummyPointGenerator.qml
5 | View1.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/72WaveSketching/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of how to create interactive graphics on top of the QT charts using canvas tool.
2 |
3 | This project reads some points and draws lines in QT chart.
4 | User can interactively create some annotations on this graph using dynamic graphics.
5 | This is kind of cool. Mostly coding is done in javascript in qml files. Very little c++ support
--------------------------------------------------------------------------------
/73MultiThreadingDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/73MultiThreadingDemo/output.gif
--------------------------------------------------------------------------------
/73MultiThreadingDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/73MultiThreadingDemo/worker.cpp:
--------------------------------------------------------------------------------
1 | #include "worker.h"
2 | #include
3 | #include
4 |
5 | Worker::Worker(QObject *parent) : QObject(parent)
6 | {
7 |
8 | }
9 |
10 | Worker::Worker(int id)
11 | :m_id(id) {
12 |
13 | }
14 |
15 | void Worker::process()
16 | {
17 | qInfo() << "\nWorker process()" << " Thread:" << QThread::currentThread();
18 | for(int i=0;i<100;i++) {
19 | processed(m_id * (i+1));
20 | QThread::currentThread()->sleep(2);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/73MultiThreadingDemo/worker.h:
--------------------------------------------------------------------------------
1 | #ifndef WORKER_H
2 | #define WORKER_H
3 |
4 | #include
5 |
6 | class Worker : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit Worker(QObject *parent = nullptr);
11 | Worker(int id);
12 |
13 | public slots:
14 | void process();
15 |
16 | signals:
17 | void finished();
18 | void error(QString error);
19 | void processed(int i);
20 |
21 | private:
22 | int m_id = 0;
23 | };
24 |
25 | #endif // WORKER_H
26 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/dock1.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/max1.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/max2.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/max3.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/mini1.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/mini2.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/mini4.jpg
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/images/mini5.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/74ECGWaveUsingMultithreading/output.png
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=15
5 | 0,3.5
6 | 0.5,3.8
7 | 1,3.5
8 | 2,3.5
9 | 2.5,2
10 | 4,12
11 | 4.5,4
12 | 5,4.8
13 | 5.5,4
14 | 6,4.2
15 | 7,5
16 | 8,7
17 | 9,3
18 | 10,3.5
19 | 11,3
20 | 12,3.5
21 | 13,3
22 | 14,3.5
23 | 14.5,4
24 | 15.5,2
25 | 16,9
26 | 16.5,3.5
27 | 17,4
28 | 17.5,3.5
29 | 20,3.5
30 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/ecgugly.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/74ECGWaveUsingMultithreading/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 |
10 |
11 | class WaveformUtils
12 | {
13 | public:
14 | WaveformUtils();
15 | };
16 |
17 | #endif // WAVEFORMUTILS_H
18 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/Readme.txt:
--------------------------------------------------------------------------------
1 | This project will show status bar in the window
2 | clicking on the status bar will show you 3 ECG wave charts
3 | You can scroll to see all.
4 |
5 | Status bar has 2 buttons => 1. Maximize 2. Minimize
6 |
7 | Clicking on Maximize will hide expanded status bar and show a separate window containing ECG waves.
8 | Clicking on Minimize button will hide scrollbar slowly.
9 |
10 | This is little CPU and memory intensive application.
11 | It uses multiple threads to update the ECG wave models.
12 | For each wave there is one worker thread in the background.
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/75MultithreadingECGPanelView/images/max1.png
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/images/min1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/75MultithreadingECGPanelView/images/min1.png
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/output1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/75MultithreadingECGPanelView/output1.png
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/output2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/75MultithreadingECGPanelView/output2.png
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=15
5 | 0,3.5
6 | 0.5,3.8
7 | 1,3.5
8 | 2,3.5
9 | 2.5,2
10 | 4,12
11 | 4.5,4
12 | 5,4.8
13 | 5.5,4
14 | 6,4.2
15 | 7,5
16 | 8,7
17 | 9,3
18 | 10,3.5
19 | 11,3
20 | 12,3.5
21 | 13,3
22 | 14,3.5
23 | 14.5,4
24 | 15.5,2
25 | 16,9
26 | 16.5,3.5
27 | 17,4
28 | 17.5,3.5
29 | 20,3.5
30 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/ecgugly.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/75MultithreadingECGPanelView/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 |
10 |
11 | class WaveformUtils
12 | {
13 | public:
14 | WaveformUtils();
15 | };
16 |
17 | #endif // WAVEFORMUTILS_H
18 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/controller.cpp:
--------------------------------------------------------------------------------
1 | #include "controller.h"
2 | #include "pointrecorder.h"
3 | #include
4 |
5 | Controller::Controller(QObject *parent) : QObject(parent)
6 | {
7 | PointRecorder::getInstance().StartRecordingPoints();
8 | QTimer* m_timer = new QTimer(this);
9 | connect(m_timer, &QTimer::timeout, this, &Controller::timeOut);
10 | m_timer->setInterval(10);
11 | m_timer->start();
12 | }
13 |
14 | void Controller::timeOut()
15 | {
16 | PointRecorder::getInstance().addOnePoint();
17 | }
18 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/controller.h:
--------------------------------------------------------------------------------
1 | #ifndef CONTROLLER_H
2 | #define CONTROLLER_H
3 |
4 | #include
5 |
6 | class Controller : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit Controller(QObject *parent = nullptr);
11 |
12 | void timeOut();
13 |
14 | signals:
15 |
16 | };
17 |
18 | #endif // CONTROLLER_H
19 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/76SingleThreadedECGPanelViewObserverPattern/images/max1.png
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/images/min1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/76SingleThreadedECGPanelViewObserverPattern/images/min1.png
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/76SingleThreadedECGPanelViewObserverPattern/output.png
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/ecg.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=15
5 | 0,3.5
6 | 0.5,3.8
7 | 1,3.5
8 | 2,3.5
9 | 2.5,2
10 | 4,12
11 | 4.5,4
12 | 5,4.8
13 | 5.5,4
14 | 6,4.2
15 | 7,5
16 | 8,7
17 | 9,3
18 | 10,3.5
19 | 11,3
20 | 12,3.5
21 | 13,3
22 | 14,3.5
23 | 14.5,4
24 | 15.5,2
25 | 16,9
26 | 16.5,3.5
27 | 17,4
28 | 17.5,3.5
29 | 20,3.5
30 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/ecgugly.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 |
7 | class WaveformReader
8 | {
9 | public:
10 | WaveformReader();
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | private:
14 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
15 | };
16 |
17 | #endif // WAVEFORMREADER_H
18 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/76SingleThreadedECGPanelViewObserverPattern/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 | enum WaveformType {
10 | RandomWave=0,
11 | ECGWave,
12 | ECGWave1,
13 | ECGWave2,
14 | ECGWave3,
15 | SineWave,
16 | SquareWave
17 | };
18 |
19 | class WaveformUtils
20 | {
21 | public:
22 | WaveformUtils();
23 | };
24 |
25 | #endif // WAVEFORMUTILS_H
26 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/dock1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/dock1.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/max1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/max1.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/max2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/max2.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/max3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/max3.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/mini1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/mini1.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/mini2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/mini2.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/mini4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/mini4.jpg
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/images/mini5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/77UniformSpacingWaveforms/images/mini5.png
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/ecg1.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=20
5 | 0,5
6 | 1,5
7 | 1.3,5.5
8 | 1.6,6.5
9 | 2,6.8
10 | 2.5,7
11 | 3,7
12 | 3.5,6.5
13 | 4,6
14 | 4.3,5.5
15 | 4.5,5
16 | 5,5
17 | 6,5
18 | 7,3
19 | 9,14
20 | 10,2
21 | 11,5
22 | 13,5
23 | 13.5,6
24 | 14,6.5
25 | 15,7
26 | 16,7
27 | 16.5,6.5
28 | 17,6
29 | 17.5,5
30 | 18,5
31 | 19,5
32 | 20,5
33 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/ecg2.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=22
3 | miny=0
4 | maxy=20
5 | 0,5.2
6 | 0.8,5.2
7 | 1,6
8 | 1.5,6.2
9 | 2,6
10 | 2.5,5.5
11 | 3,5.2
12 | 5.8,5.2
13 | 6.3,4.8
14 | 7.3,19.5
15 | 8.3,1.5
16 | 9.1,5.2
17 | 10,5.6
18 | 11,5.8
19 | 12,6.8
20 | 13,9
21 | 13.5,9.5
22 | 14.2,9
23 | 15,7.8
24 | 16,5.8
25 | 16.5,5.5
26 | 17,5.9
27 | 17.5,5.7
28 | 18,5.2
29 | 22,5.2
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/ecg3.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,9.2
6 | 1,9.2
7 | 1.8,9.5
8 | 2,10
9 | 2.3,10.2
10 | 2.8,10
11 | 3.2,10.2
12 | 3.6,10
13 | 4,9.4
14 | 5,9.6
15 | 5.5,9.8
16 | 6.2,14
17 | 7,7
18 | 7.5,10
19 | 8,10.5
20 | 9,10.7
21 | 10,11.2
22 | 10.5,12
23 | 11,12.2
24 | 11.5,12
25 | 12,11.5
26 | 13,9.6
27 | 14,9.6
28 | 15,9.2
29 | 16,9.2
30 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/ecg4.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=20
3 | miny=0
4 | maxy=15
5 | 0,3.5
6 | 0.5,3.8
7 | 1,3.5
8 | 2,3.5
9 | 2.5,2
10 | 4,12
11 | 4.5,4
12 | 5,4.8
13 | 5.5,4
14 | 6,4.2
15 | 7,5
16 | 8,7
17 | 9,3
18 | 10,3.5
19 | 11,3
20 | 12,3.5
21 | 13,3
22 | 14,3.5
23 | 14.5,4
24 | 15.5,2
25 | 16,9
26 | 16.5,3.5
27 | 17,4
28 | 17.5,3.5
29 | 20,3.5
30 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/ecgugly.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=16
3 | miny=4
4 | maxy=16
5 | 0,10.2
6 | 1,10.2
7 | 1.8,11
8 | 2,12
9 | 2.2,13
10 | 2.5,14
11 | 3,14.2
12 | 3.5,13
13 | 4,12
14 | 4.2,11
15 | 5.2,10
16 | 6,9.5
17 | 6.5,14
18 | 7.5,4
19 | 8,9
20 | 8.2,9.2
21 | 9,9.6
22 | 9.8,10
23 | 10,10.2
24 | 10.5,11
25 | 10.8,12
26 | 11,12.8
27 | 11.8,13
28 | 12.2,12.8
29 | 12.8,12
30 | 13,10.8
31 | 14,10.2
32 | 16,10.2
33 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/sine.txt:
--------------------------------------------------------------------------------
1 | minx=0
2 | maxx=7
3 | miny=0
4 | maxy=4
5 | 0,1
6 | 1,1
7 | 1.5,2
8 | 2,2.5
9 | 3,3
10 | 4,2.7
11 | 4.5,2
12 | 5,1
13 | 5.2,0.8
14 | 5.5,0.5
15 | 5.7,0.8
16 | 6,1
17 | 7,1
18 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/wavedata/square.txt:
--------------------------------------------------------------------------------
1 | minx=2
2 | miny=8
3 | maxx=5
4 | maxy=14
5 | 2,10
6 | 2,13
7 | 3,13
8 | 3,9
9 | 4,9
10 | 4,10
11 | 5,10
12 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/waveformreader.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMREADER_H
2 | #define WAVEFORMREADER_H
3 |
4 | #include "waveformdata.h"
5 | #include
6 | class WaveformReader
7 | {
8 | public:
9 | WaveformReader();
10 |
11 | WaveformData ReadWaveform(QString filename);
12 |
13 | void InterpolatePoints(std::vector& points);
14 | void ScalePoints(std::vector& points,int minY,int maxY);
15 | void PrintPoints(std::vector& points);
16 |
17 | private:
18 | void ReadLimits(QString filename, int& minx,int& miny,int& maxx,int& maxy);
19 | };
20 |
21 | #endif // WAVEFORMREADER_H
22 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/waveformutils.cpp:
--------------------------------------------------------------------------------
1 | #include "waveformutils.h"
2 |
3 | WaveformUtils::WaveformUtils()
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/77UniformSpacingWaveforms/waveformutils.h:
--------------------------------------------------------------------------------
1 | #ifndef WAVEFORMUTILS_H
2 | #define WAVEFORMUTILS_H
3 |
4 | typedef struct {
5 | float x;
6 | float y;
7 | }XY;
8 |
9 | class WaveformUtils
10 | {
11 | public:
12 | WaveformUtils();
13 | };
14 |
15 | #endif // WAVEFORMUTILS_H
16 |
--------------------------------------------------------------------------------
/78CPPListmodelUpdate/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.9
2 | import QtQuick.Window 2.2
3 | import QtQuick.Controls 2.12
4 |
5 | Window {
6 | id: root
7 | visible: true
8 | width: 840
9 | height: 480
10 | title: qsTr("Hello World")
11 |
12 |
13 | CurveColorUpdater {
14 |
15 | }
16 |
17 |
18 |
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/78CPPListmodelUpdate/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/78CPPListmodelUpdate/output.gif
--------------------------------------------------------------------------------
/78CPPListmodelUpdate/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | CurveColorUpdater.qml
5 | CurveColorModel.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/78CPPListmodelUpdate/readme.txt:
--------------------------------------------------------------------------------
1 | exposing QObject as context property
2 | exposing list model as context property
3 |
4 | enquiring data from both and showing it in view.
--------------------------------------------------------------------------------
/79ChangeParentDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/7CreatingNewModel/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/7CreatingNewModel/readme.txt:
--------------------------------------------------------------------------------
1 | exposing QObject as context property
2 | exposing list model as context property
3 |
4 | enquiring data from both and showing it in view.
--------------------------------------------------------------------------------
/7CreatingNewModel/showCPPModel.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/7CreatingNewModel/showCPPModel.PNG
--------------------------------------------------------------------------------
/80ProgressBarStyle/MyProgress2.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import QtQuick.Controls 1.4
3 | import QtQuick.Controls.Styles 1.4
4 |
5 | ProgressBar {
6 | id: p1
7 |
8 | property var primaryColor: "orange"
9 | property var secondaryColor: "darkgray"
10 |
11 | maximumValue: 1
12 | minimumValue: 0
13 | width: parent.width
14 | height: 50
15 | style: ProgressStyle1{
16 | id: progressstyle
17 | primaryColor: p1.primaryColor
18 | secondaryColor: p1.secondaryColor
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/80ProgressBarStyle/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/80ProgressBarStyle/output.gif
--------------------------------------------------------------------------------
/80ProgressBarStyle/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | MyProgress.qml
5 | MyProgress1.qml
6 | ProgressStyle1.qml
7 | MyProgress2.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/81circleprogressdemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/81circleprogressdemo/output.gif
--------------------------------------------------------------------------------
/81circleprogressdemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | CircleProgress.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/82RadioCustomDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 2.12
4 |
5 | Window {
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Hello World")
10 |
11 | Rectangle {
12 | anchors.fill: parent
13 | color: "black"
14 | }
15 |
16 | Column {
17 |
18 | RadioButton2 {
19 | text: "Radio1"
20 | }
21 | RadioButton2 {
22 | text: "Radio2"
23 | }
24 | RadioButton2 {
25 | text: "Radio3"
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/82RadioCustomDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | RadioButton2.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/83DynamicSeriesinQtChart/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/83DynamicSeriesinQtChart/output.gif
--------------------------------------------------------------------------------
/83DynamicSeriesinQtChart/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/83DynamicSeriesinQtChart/readme.txt:
--------------------------------------------------------------------------------
1 | This project demonstrates how to add lineseries in QT chart dynamically.
2 | THis also demonstrates how to remove existing lineseries from QML chart.
3 |
4 |
--------------------------------------------------------------------------------
/84DynamicFontSizeDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/84DynamicFontSizeDemo/output.gif
--------------------------------------------------------------------------------
/84DynamicFontSizeDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | GameSettings.qml
5 | qmldir
6 |
7 |
8 |
--------------------------------------------------------------------------------
/84DynamicFontSizeDemo/qmldir:
--------------------------------------------------------------------------------
1 | singleton GameSettings 1.0 GameSettings.qml
2 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ArchitectureExample.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS += \
4 | ExamplePlugin/exampleplugin.pro \
5 | ExampleUI
6 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/ExamplePlugin.cpp:
--------------------------------------------------------------------------------
1 | #include "ExamplePlugin.h"
2 | #include "PatientProvider.h"
3 | #include "Patient.h"
4 |
5 | #include
6 |
7 | void ExamplePlugin::registerTypes(const char *uri)
8 | {
9 | qmlRegisterSingletonType(uri, 1, 0, "PatientProvider", &PatientProvider::instance);
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/ExamplePlugin.h:
--------------------------------------------------------------------------------
1 | #ifndef EXAMPLEPLUGIN_PLUGIN_H
2 | #define EXAMPLEPLUGIN_PLUGIN_H
3 |
4 | #include
5 |
6 | class ExamplePlugin : public QQmlExtensionPlugin
7 | {
8 | Q_OBJECT
9 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
10 |
11 | public:
12 | void registerTypes(const char *uri);
13 | };
14 |
15 | #endif // EXAMPLEPLUGIN_PLUGIN_H
16 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/MyRect.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 |
5 | width: 200
6 | height: 200
7 | color: "green"
8 | }
9 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/MyRect1.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Rectangle {
4 |
5 | width: 200
6 | height: 200
7 | radius: 20
8 | color: "orange"
9 | }
10 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/Patient.cpp:
--------------------------------------------------------------------------------
1 | #include "Patient.h"
2 |
3 | Patient::Patient(QString name, int age):
4 | m_name(name), m_age(age) {}
5 |
6 | Patient::~Patient() {}
7 |
8 | QString Patient::getName() {
9 | return m_name;
10 | }
11 |
12 | void Patient::setName(QString name) {
13 | m_name = name;
14 | }
15 |
16 | int Patient::getAge() {
17 | return m_age;
18 | }
19 |
20 | void Patient::setAge(int age) {
21 | m_age = age;
22 | }
23 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/Patient.h:
--------------------------------------------------------------------------------
1 | #ifndef PATIENT_H
2 | #define PATIENT_H
3 |
4 | #include
5 |
6 | class Patient
7 | {
8 | public:
9 | Patient(QString name = "", int age = 0);
10 | ~Patient();
11 |
12 | QString getName();
13 | void setName(QString name);
14 | int getAge();
15 | void setAge(int age);
16 |
17 | private:
18 | QString m_name;
19 | int m_age;
20 | };
21 |
22 | #endif // PATIENT_H
23 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/qmldir:
--------------------------------------------------------------------------------
1 | module ExamplePlugin
2 | MyRect 1.0 qrc:/MyRect.qml
3 | MyRect 1.1 qrc:/MyRect1.qml
4 | plugin ExamplePlugin
5 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExamplePlugin/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | MyRect.qml
4 | MyButton.qml
5 | MyRect1.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExampleUI/ExampleUI.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 |
3 | QT += qml quick
4 | CONFIG += c++11
5 |
6 | SOURCES += main.cpp
7 |
8 | RESOURCES += qml.qrc
9 |
10 | # Additional import path used to resolve QML modules in Qt Creator's code model
11 | QML_IMPORT_PATH =
12 |
13 | # Default rules for deployment.
14 | include(deployment.pri)
15 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExampleUI/deployment.pri:
--------------------------------------------------------------------------------
1 | unix:!android {
2 | isEmpty(target.path) {
3 | qnx {
4 | target.path = /tmp/$${TARGET}/bin
5 | } else {
6 | target.path = /opt/$${TARGET}/bin
7 | }
8 | export(target.path)
9 | }
10 | INSTALLS += target
11 | }
12 |
13 | export(INSTALLS)
14 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExampleUI/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | int main(int argc, char* argv[])
6 | {
7 | QGuiApplication app(argc, argv);
8 |
9 | QString path = app.applicationDirPath().append("/../..");
10 | app.addLibraryPath(path);
11 |
12 | QQmlApplicationEngine engine;
13 | engine.addImportPath(path);
14 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
15 |
16 | return app.exec();
17 | }
18 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ExampleUI/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/85QMLDIR_DEMO/ReadMe.txt:
--------------------------------------------------------------------------------
1 | This is very useful example.
2 | It shows how you can create subprojects.
3 | One Subproject containing C++ and QML code and other subproject simply using it.
4 | THis increases the cohension and reduces the coupling between the modules.
5 | THis is an excellent example of how we can separate out things.
--------------------------------------------------------------------------------
/86ECGGraphHorizontalScroll/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/86ECGGraphHorizontalScroll/output.gif
--------------------------------------------------------------------------------
/86ECGGraphHorizontalScroll/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | DummyPointGenerator.qml
5 | View1.qml
6 |
7 |
8 |
--------------------------------------------------------------------------------
/86ECGGraphHorizontalScroll/readme.txt:
--------------------------------------------------------------------------------
1 | This project shows demo of how to create interactive graphics on top of the QT charts using canvas tool.
2 |
3 | This project reads some points and draws lines in QT chart.
4 | User can interactively create some annotations on this graph using dynamic graphics.
5 | This is kind of cool. Mostly coding is done in javascript in qml files. Very little c++ support
--------------------------------------------------------------------------------
/87MultiThreadingDemo/counterprocessor.h:
--------------------------------------------------------------------------------
1 | #ifndef COUNTERPROCESSOR_H
2 | #define COUNTERPROCESSOR_H
3 |
4 | #include
5 | #include
6 |
7 | class CounterProcessor : public QObject
8 | {
9 | Q_OBJECT
10 | public:
11 | explicit CounterProcessor(QObject *parent = nullptr);
12 |
13 |
14 | public slots:
15 | void work();
16 | void setRunning(bool running);
17 |
18 | signals:
19 | void runningChanged();
20 | void counterChanged(int counter);
21 |
22 | private:
23 | bool m_running = true;
24 | int m_counter = 0;
25 | };
26 |
27 | #endif // COUNTERPROCESSOR_H
28 |
--------------------------------------------------------------------------------
/87MultiThreadingDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/87MultiThreadingDemo/output.gif
--------------------------------------------------------------------------------
/87MultiThreadingDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/88CustomWindowDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | MyWindow.qml
5 | MyWindow1.qml
6 | MyWindow2.qml
7 | TitleBar.qml
8 |
9 |
10 |
--------------------------------------------------------------------------------
/89MVCDemo/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.12
2 | import QtQuick.Window 2.12
3 | import QtQuick.Controls 2.12
4 |
5 | Window {
6 | visible: true
7 | width: 640
8 | height: 480
9 | title: qsTr("Hello World")
10 |
11 | Button {
12 | text: "Load Student"
13 | onClicked: loader1.source="StudentDemo.qml"
14 | }
15 |
16 | Loader {
17 | id: loader1
18 | width: 400
19 | height: 400
20 | anchors.centerIn: parent
21 | source: ""
22 | }
23 |
24 |
25 |
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/89MVCDemo/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/89MVCDemo/output.gif
--------------------------------------------------------------------------------
/89MVCDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | StudentDemo.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/89MVCDemo/studentdata.h:
--------------------------------------------------------------------------------
1 | #ifndef STUDENTDATA_H
2 | #define STUDENTDATA_H
3 |
4 | #include
5 |
6 | class StudentData : public QObject
7 | {
8 | Q_OBJECT
9 | public:
10 | explicit StudentData(QObject *parent = nullptr);
11 | ~StudentData();
12 |
13 | int roll() const;
14 | void setRoll(int roll);
15 |
16 | QString name() const;
17 | void setName(const QString &name);
18 |
19 | signals:
20 | void rollchanged();
21 | void nameChanged();
22 |
23 | private:
24 | int m_roll = 0;
25 | QString m_name = "";
26 | };
27 |
28 | #endif // STUDENTDATA_H
29 |
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/images/Open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/8DicomviewerQt/s8/images/Open.png
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/images/exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/8DicomviewerQt/s8/images/exit.png
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/images/import.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/8DicomviewerQt/s8/images/import.jpg
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/images/import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/8DicomviewerQt/s8/images/import.png
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 | #include
4 | VTK_MODULE_INIT(vtkRenderingOpenGL2)
5 | VTK_MODULE_INIT(vtkRenderingFreeType)
6 |
7 |
8 | #include
9 |
10 | int main(int argc, char *argv[])
11 | {
12 | QApplication a(argc, argv);
13 |
14 | vtkObject::GlobalWarningDisplayOff();
15 |
16 | MainWindow w;
17 | w.show();
18 |
19 | return a.exec();
20 | }
21 |
--------------------------------------------------------------------------------
/8DicomviewerQt/s8/resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/exit.png
4 | images/import.jpg
5 | images/import.png
6 | images/Open.png
7 | stylesheets/style1.qss
8 | stylesheets/style2.qss
9 |
10 |
11 |
--------------------------------------------------------------------------------
/90RadioButtonIndicatorDemo/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/90RadioButtonIndicatorDemo/output.png
--------------------------------------------------------------------------------
/90RadioButtonIndicatorDemo/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | Indicator.qml
5 | RadioGroup.qml
6 | RadioButton.qml
7 |
8 |
9 |
--------------------------------------------------------------------------------
/91ScrollShowWhenRequired/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/91ScrollShowWhenRequired/output.gif
--------------------------------------------------------------------------------
/91ScrollShowWhenRequired/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/92PlanningBox/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/92PlanningBox/output.gif
--------------------------------------------------------------------------------
/92PlanningBox/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 |
5 |
6 |
--------------------------------------------------------------------------------
/9DynamicPopUp/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | #if defined(Q_OS_WIN)
7 | QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
8 | #endif
9 |
10 | QGuiApplication app(argc, argv);
11 |
12 | QQmlApplicationEngine engine;
13 | engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
14 | if (engine.rootObjects().isEmpty())
15 | return -1;
16 |
17 | return app.exec();
18 | }
19 |
--------------------------------------------------------------------------------
/9DynamicPopUp/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.9
2 | import QtQuick.Window 2.2
3 | import QtQuick.Controls 2.2
4 |
5 | Window {
6 | visible: true
7 | width: 1000
8 | height: 800
9 | title: qsTr("Hello World")
10 |
11 |
12 | BackRectangle {
13 |
14 | }
15 |
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/9DynamicPopUp/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/9DynamicPopUp/output.gif
--------------------------------------------------------------------------------
/9DynamicPopUp/output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/9DynamicPopUp/output.png
--------------------------------------------------------------------------------
/9DynamicPopUp/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | main.qml
4 | BackRectangle.qml
5 | DropDown.qml
6 | DropDown1.qml
7 | TopperDialog.qml
8 | MessagePopup.qml
9 |
10 |
11 |
--------------------------------------------------------------------------------
/9DynamicPopUp/readme.txt:
--------------------------------------------------------------------------------
1 | how to create popups
2 | how to pass around data as input and output from components
3 | how to use menu and menuitem
--------------------------------------------------------------------------------
/QML Guidelines.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/QML Guidelines.docx
--------------------------------------------------------------------------------
/QMLGuidelines.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/QMLGuidelines.pdf
--------------------------------------------------------------------------------
/learnings.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girishlande/QMLProjects/230ea1e380a7c6d83a16d6fd4ac741ea3800ec35/learnings.pptx
--------------------------------------------------------------------------------