├── .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 --------------------------------------------------------------------------------