├── 2d_3d_vision
├── README.md
└── camera_calib
│ ├── ppt
│ └── 0.0相机标定原理.pptx
│ └── src
│ └── CalibRapid
│ ├── CalibRapid.sln
│ └── CalibRapid
│ ├── CalibRapid.qrc
│ ├── CalibRapid.qss
│ ├── CalibRapid.vcxproj
│ ├── CalibRapid.vcxproj.filters
│ ├── cameracalib.cpp
│ ├── cameracalib.h
│ ├── cameracalib_common.h
│ ├── data
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── 6.png
│ ├── 7.png
│ ├── JSON文件说明.png
│ ├── robot_pose.json
│ └── single_calib.yaml
│ ├── flowlayout.cpp
│ ├── flowlayout.h
│ ├── imageflowviewer.cpp
│ ├── imageflowviewer.h
│ ├── images
│ ├── extrinsic.png
│ ├── intrinsic.png
│ ├── loading.gif
│ ├── sizegrip.png
│ └── stereo.png
│ ├── main.cpp
│ ├── mainwindow.cpp
│ └── mainwindow.h
├── README.md
├── pyqt_project
├── README.md
├── basic_code
│ └── set_application_icon.py
├── custom_signal_slot
│ └── main.py
├── demo0001
│ └── main.py
├── demo_pkg
│ ├── README.txt
│ ├── setup.py
│ └── src
│ │ └── widget
│ │ ├── __init__.py
│ │ ├── a.json
│ │ ├── a.py
│ │ ├── a.txt
│ │ ├── a.xml
│ │ └── widget2
│ │ ├── __init__.py
│ │ ├── a2.json
│ │ ├── a2.py
│ │ ├── a2.txt
│ │ └── a2.xml
├── my_orange3
│ ├── README.md
│ ├── orange3-addon-zcb03
│ │ ├── setup.py
│ │ └── zcbpkg
│ │ │ └── __init__.py
│ ├── orange3-addon-zcb04
│ │ ├── setup.py
│ │ └── zcbpkg
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ ├── lxQIntNumber.cpython-38.pyc
│ │ │ └── lxQIntNumber2.cpython-38.pyc
│ │ │ ├── lxQIntNumber.py
│ │ │ ├── lxQIntNumber2.py
│ │ │ ├── orange.ico
│ │ │ └── orange.png
│ ├── orange3-example-addon
│ │ ├── MANIFEST.in
│ │ ├── README.md
│ │ ├── README.pypi
│ │ ├── doc
│ │ │ ├── Makefile
│ │ │ ├── conf.py
│ │ │ ├── index.rst
│ │ │ ├── make.bat
│ │ │ └── widgets
│ │ │ │ ├── icons
│ │ │ │ └── mywidget.png
│ │ │ │ └── mywidget.md
│ │ ├── orangecontrib
│ │ │ ├── __init__.py
│ │ │ └── example
│ │ │ │ ├── __init__.py
│ │ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_example.py
│ │ │ │ ├── tutorials
│ │ │ │ ├── __init__.py
│ │ │ │ └── example_tutorial.ows
│ │ │ │ └── widgets
│ │ │ │ ├── __init__.py
│ │ │ │ ├── icons
│ │ │ │ ├── category.svg
│ │ │ │ └── mywidget.svg
│ │ │ │ └── mywidget.py
│ │ ├── screenshot.png
│ │ └── setup.py
│ └── use_python_entry_points.py
└── my_pkg
│ ├── lxcg
│ ├── lxrobot
│ │ ├── __init__.py
│ │ └── sql
│ │ │ └── __init__.py
│ └── setup.py
│ └── lxzcb
│ ├── lxrobot
│ ├── __init__.py
│ └── canvas
│ │ └── __init__.py
│ └── setup.py
├── qmake
└── 多工程管理
│ └── fooapp
│ ├── README.md
│ ├── fooapp.pro
│ └── src
│ ├── app
│ ├── app.cpp
│ ├── app.pro
│ ├── lib.h
│ └── lib2.h
│ ├── lib
│ ├── lib.cpp
│ ├── lib.h
│ └── lib.pro
│ └── lib2
│ ├── lib2.cpp
│ ├── lib2.h
│ └── lib2.pro
├── qt_GSGU
├── README.md
├── images
│ └── tree.png
├── 相关软件
│ ├── QssStylesheetEditor1.6.zip
│ ├── README.txt
│ └── TakeColor.exe
├── 第一章 Qt简介、相关工具安装及使用
│ ├── 00ppt
│ │ ├── 1.1Qt简介.pptx
│ │ ├── 1.2-1.4Qt相关开发工具安装使用.pptx
│ │ └── 1.5学习路线.pptx
│ ├── 01c++
│ │ ├── QtCreator
│ │ │ └── demo01
│ │ │ │ ├── demo01.pro
│ │ │ │ ├── demo01.pro.user
│ │ │ │ └── main.cpp
│ │ └── VisualStudio
│ │ │ └── qt_demo
│ │ │ ├── demo01
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── demo.ui
│ │ │ ├── demo01.vcxproj
│ │ │ ├── demo01.vcxproj.filters
│ │ │ ├── demo01.vcxproj.user
│ │ │ └── main.cpp
│ │ │ └── qt_demo.sln
│ └── 02python
│ │ └── demo01
│ │ └── main.py
└── 第二章 Widgets体系
│ ├── 00ppt
│ ├── 2.1 Widgets体系概述、Qt命名空间、编程规范.pptx
│ ├── 2.2 QObject之事件系统、信号和槽、对象树、计时功能.pptx
│ ├── 2.3 Application相关.pptx
│ ├── 2.4 QWidget-所有可视化控件的基石.pptx
│ ├── 2.5 QSS-控件也爱美.pptx
│ ├── 2.6 主窗口—QMainWindow相关.pptx
│ ├── 2.7 用户交互与信息展示.pptx
│ └── 2.9拖拽相关1.pptx
│ ├── 01c++
│ ├── qt_GSGU_2_1
│ │ ├── qt_GSGU_2_1.sln
│ │ └── qtnamespace
│ │ │ ├── main.cpp
│ │ │ ├── qtnamespace.vcxproj
│ │ │ ├── qtnamespace.vcxproj.filters
│ │ │ └── qtnamespace.vcxproj.user
│ ├── qt_GSGU_2_2
│ │ ├── qt_GSGU_2_2.sln
│ │ └── qt_event
│ │ │ ├── main.cpp
│ │ │ ├── mybutton.cpp
│ │ │ ├── mybutton.h
│ │ │ ├── mydrawboard.cpp
│ │ │ ├── mydrawboard.h
│ │ │ ├── mydrawboard2.cpp
│ │ │ ├── mydrawboard2.h
│ │ │ ├── mydrawboard3.cpp
│ │ │ ├── mydrawboard3.h
│ │ │ ├── qt_event.vcxproj
│ │ │ ├── qt_event.vcxproj.filters
│ │ │ └── qt_event.vcxproj.user
│ ├── qt_GSGU_2_3
│ │ ├── qt_00_crazy_http_client
│ │ │ ├── main.cpp
│ │ │ ├── qt_00_crazy_http_client.vcxproj
│ │ │ ├── qt_00_crazy_http_client.vcxproj.filters
│ │ │ └── response.html
│ │ ├── qt_01_simple_http_server
│ │ │ ├── main.cpp
│ │ │ ├── qt_01_simple_http_server.vcxproj
│ │ │ ├── qt_01_simple_http_server.vcxproj.filters
│ │ │ ├── webserver.cpp
│ │ │ └── webserver.h
│ │ ├── qt_02_magic_object
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── images
│ │ │ │ ├── 1.png
│ │ │ │ ├── 2.png
│ │ │ │ ├── 3.png
│ │ │ │ ├── 4.png
│ │ │ │ └── 5.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_02_magic_object.vcxproj
│ │ │ └── qt_02_magic_object.vcxproj.filters
│ │ ├── qt_03_argparser_settings
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── demo.ui
│ │ │ ├── images
│ │ │ │ ├── editcopy.png
│ │ │ │ ├── editcut.png
│ │ │ │ ├── editpaste.png
│ │ │ │ ├── editredo.png
│ │ │ │ ├── editundo.png
│ │ │ │ ├── exportpdf.png
│ │ │ │ ├── filenew.png
│ │ │ │ ├── fileopen.png
│ │ │ │ ├── fileprint.png
│ │ │ │ ├── filesave.png
│ │ │ │ ├── textbold.png
│ │ │ │ ├── textcenter.png
│ │ │ │ ├── textitalic.png
│ │ │ │ ├── textjustify.png
│ │ │ │ ├── textleft.png
│ │ │ │ ├── textright.png
│ │ │ │ ├── textunder.png
│ │ │ │ ├── zoomin.png
│ │ │ │ └── zoomout.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_03_argparser_settings.vcxproj
│ │ │ └── qt_03_argparser_settings.vcxproj.filters
│ │ └── qt_GSGU_2_3.sln
│ ├── qt_GSGU_2_4
│ │ ├── qt_00_qwidget_pos_size
│ │ │ ├── main.cpp
│ │ │ ├── qt_00_qwidget_pos_size.vcxproj
│ │ │ ├── qt_00_qwidget_pos_size.vcxproj.filters
│ │ │ └── qt_00_qwidget_pos_size.vcxproj.user
│ │ ├── qt_01_certain_count_child_widget
│ │ │ ├── main.cpp
│ │ │ ├── qt_01_certain_count_child_widget.vcxproj
│ │ │ ├── qt_01_certain_count_child_widget.vcxproj.filters
│ │ │ └── qt_01_certain_count_child_widget.vcxproj.user
│ │ ├── qt_02_min_max_size
│ │ │ ├── main.cpp
│ │ │ ├── qt_02_min_max_size.vcxproj
│ │ │ ├── qt_02_min_max_size.vcxproj.filters
│ │ │ └── qt_02_min_max_size.vcxproj.user
│ │ ├── qt_03_event_handle
│ │ │ ├── Resource.qrc
│ │ │ ├── images
│ │ │ │ └── back.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_03_event_handle.vcxproj
│ │ │ ├── qt_03_event_handle.vcxproj.filters
│ │ │ └── qt_03_event_handle.vcxproj.user
│ │ ├── qt_04_mouse_cursor
│ │ │ ├── Resource.qrc
│ │ │ ├── images
│ │ │ │ └── my_cursor.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_04_mouse_cursor.vcxproj
│ │ │ ├── qt_04_mouse_cursor.vcxproj.filters
│ │ │ └── qt_04_mouse_cursor.vcxproj.user
│ │ ├── qt_05_parent_child_relation
│ │ │ ├── main.cpp
│ │ │ ├── qt_05_parent_child_relation.vcxproj
│ │ │ ├── qt_05_parent_child_relation.vcxproj.filters
│ │ │ └── qt_05_parent_child_relation.vcxproj.user
│ │ ├── qt_06_z_order
│ │ │ ├── main.cpp
│ │ │ ├── qt_06_z_order.vcxproj
│ │ │ ├── qt_06_z_order.vcxproj.filters
│ │ │ └── qt_06_z_order.vcxproj.user
│ │ ├── qt_07_top_window
│ │ │ ├── Resource.qrc
│ │ │ ├── images
│ │ │ │ ├── close.png
│ │ │ │ ├── max.png
│ │ │ │ └── min.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_07_top_window.vcxproj
│ │ │ ├── qt_07_top_window.vcxproj.filters
│ │ │ └── qt_07_top_window.vcxproj.user
│ │ ├── qt_08_window_interact_state
│ │ │ ├── main.cpp
│ │ │ ├── qt_08_window_interact_state.vcxproj
│ │ │ ├── qt_08_window_interact_state.vcxproj.filters
│ │ │ └── qt_08_window_interact_state.vcxproj.user
│ │ ├── qt_09_info_show
│ │ │ ├── main.cpp
│ │ │ ├── qt_09_info_show.vcxproj
│ │ │ ├── qt_09_info_show.vcxproj.filters
│ │ │ └── qt_09_info_show.vcxproj.user
│ │ ├── qt_10_focus_control
│ │ │ ├── main.cpp
│ │ │ ├── qt_10_focus_control.vcxproj
│ │ │ ├── qt_10_focus_control.vcxproj.filters
│ │ │ └── qt_10_focus_control.vcxproj.user
│ │ ├── qt_11_qwidget_signal_slot
│ │ │ ├── main.cpp
│ │ │ ├── qt_11_qwidget_signal_slot.vcxproj
│ │ │ ├── qt_11_qwidget_signal_slot.vcxproj.filters
│ │ │ └── qt_11_qwidget_signal_slot.vcxproj.user
│ │ ├── qt_12_coord_convert
│ │ │ ├── main.cpp
│ │ │ ├── qt_12_coord_convert.vcxproj
│ │ │ ├── qt_12_coord_convert.vcxproj.filters
│ │ │ └── qt_12_coord_convert.vcxproj.user
│ │ └── qt_GSGU_2_4.sln
│ ├── qt_GSGU_2_5
│ │ ├── qt_00_qss_demo
│ │ │ ├── images
│ │ │ │ ├── binpicking.png
│ │ │ │ ├── close.png
│ │ │ │ ├── deptz_mix.png
│ │ │ │ ├── deptz_single.png
│ │ │ │ ├── open.png
│ │ │ │ ├── ptz_mix.png
│ │ │ │ ├── ptz_single.png
│ │ │ │ └── special_template.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_00_qss_demo.vcxproj
│ │ │ ├── qt_00_qss_demo.vcxproj.filters
│ │ │ ├── qt_00_qss_demo.vcxproj.user
│ │ │ ├── vs2017_solution.cpp
│ │ │ ├── vs2017_solution.h
│ │ │ ├── vs2017_solution.qrc
│ │ │ ├── vs2017_solution.qss
│ │ │ └── vs2017_solution.ui
│ │ └── qt_GSGU_2_5.sln
│ ├── qt_GSGU_2_6
│ │ ├── GSGU_2_6.sln
│ │ ├── qt_01_olive
│ │ │ ├── main.cpp
│ │ │ ├── panel
│ │ │ │ ├── audiopanel
│ │ │ │ │ ├── audiopanel.cpp
│ │ │ │ │ └── audiopanel.h
│ │ │ │ ├── footagepanel
│ │ │ │ │ ├── footagepanel.cpp
│ │ │ │ │ └── footagepanel.h
│ │ │ │ ├── nodepanel
│ │ │ │ │ ├── nodepanel.cpp
│ │ │ │ │ └── nodepanel.h
│ │ │ │ ├── panelmanager.cpp
│ │ │ │ ├── panelmanager.h
│ │ │ │ ├── panelwidget.cpp
│ │ │ │ ├── panelwidget.h
│ │ │ │ ├── parampanel
│ │ │ │ │ ├── parampanel.cpp
│ │ │ │ │ └── parampanel.h
│ │ │ │ ├── projectpanel
│ │ │ │ │ ├── projectpanel.cpp
│ │ │ │ │ └── projectpanel.h
│ │ │ │ ├── sequencepanel
│ │ │ │ │ ├── sequencepanel.cpp
│ │ │ │ │ └── sequencepanel.h
│ │ │ │ ├── timelinepanel
│ │ │ │ │ ├── timelinepanel.cpp
│ │ │ │ │ └── timelinepanel.h
│ │ │ │ └── toolpanel
│ │ │ │ │ ├── toolpanel.cpp
│ │ │ │ │ └── toolpanel.h
│ │ │ ├── qt_01_olive.vcxproj
│ │ │ ├── qt_01_olive.vcxproj.filters
│ │ │ ├── qt_01_olive.vcxproj.user
│ │ │ └── window
│ │ │ │ ├── mainwindow.cpp
│ │ │ │ └── mainwindow.h
│ │ ├── qt_02_texteditor
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── demo.ui
│ │ │ ├── example.html
│ │ │ ├── images
│ │ │ │ ├── editcopy.png
│ │ │ │ ├── editcut.png
│ │ │ │ ├── editpaste.png
│ │ │ │ ├── editredo.png
│ │ │ │ ├── editundo.png
│ │ │ │ ├── exportpdf.png
│ │ │ │ ├── filenew.png
│ │ │ │ ├── fileopen.png
│ │ │ │ ├── fileprint.png
│ │ │ │ ├── filesave.png
│ │ │ │ ├── textbold.png
│ │ │ │ ├── textcenter.png
│ │ │ │ ├── textitalic.png
│ │ │ │ ├── textjustify.png
│ │ │ │ ├── textleft.png
│ │ │ │ ├── textright.png
│ │ │ │ ├── textunder.png
│ │ │ │ ├── zoomin.png
│ │ │ │ └── zoomout.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_02_texteditor.vcxproj
│ │ │ ├── qt_02_texteditor.vcxproj.filters
│ │ │ └── qt_02_texteditor.vcxproj.user
│ │ ├── qt_03_configdialog
│ │ │ ├── configdialog.cpp
│ │ │ ├── configdialog.h
│ │ │ ├── configdialog.qrc
│ │ │ ├── images
│ │ │ │ ├── config.png
│ │ │ │ ├── query.png
│ │ │ │ └── update.png
│ │ │ ├── main.cpp
│ │ │ ├── pages.cpp
│ │ │ ├── pages.h
│ │ │ ├── qt_03_configdialog.vcxproj
│ │ │ ├── qt_03_configdialog.vcxproj.filters
│ │ │ └── qt_03_configdialog.vcxproj.user
│ │ ├── qt_04_ppt_statusbar
│ │ │ ├── images
│ │ │ │ ├── add.png
│ │ │ │ ├── book.png
│ │ │ │ ├── dance.png
│ │ │ │ ├── drink.png
│ │ │ │ ├── grid.png
│ │ │ │ └── sub.png
│ │ │ ├── main.cpp
│ │ │ ├── main.qrc
│ │ │ ├── mainwindow.cpp
│ │ │ ├── mainwindow.h
│ │ │ ├── qt_04_ppt_statusbar.vcxproj
│ │ │ ├── qt_04_ppt_statusbar.vcxproj.filters
│ │ │ └── qt_04_ppt_statusbar.vcxproj.user
│ │ ├── qt_05_orange_splashscreen
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── demo.ui
│ │ │ ├── images
│ │ │ │ └── orange_splash_screen.png
│ │ │ ├── main.cpp
│ │ │ ├── qt_05_orange_splashscreen.vcxproj
│ │ │ ├── qt_05_orange_splashscreen.vcxproj.filters
│ │ │ ├── qt_05_orange_splashscreen.vcxproj.user
│ │ │ ├── splashscreen.cpp
│ │ │ └── splashscreen.h
│ │ └── qt_06_mdi_area
│ │ │ ├── demo.cpp
│ │ │ ├── demo.h
│ │ │ ├── demo.qrc
│ │ │ ├── demo.ui
│ │ │ ├── exit.svg
│ │ │ ├── main.cpp
│ │ │ ├── myplaineditor.cpp
│ │ │ ├── myplaineditor.h
│ │ │ ├── myplaineditor.ui
│ │ │ ├── qt_06_mdi_area.vcxproj
│ │ │ ├── qt_06_mdi_area.vcxproj.filters
│ │ │ └── qt_06_mdi_area.vcxproj.user
│ ├── qt_GSGU_2_7
│ │ ├── images
│ │ │ └── love.png
│ │ ├── qt_00_basic
│ │ │ ├── main.cpp
│ │ │ ├── mypushbutton.cpp
│ │ │ ├── mypushbutton.h
│ │ │ ├── mystyle.cpp
│ │ │ ├── mystyle.h
│ │ │ ├── qt_00_basic.vcxproj
│ │ │ └── qt_00_basic.vcxproj.filters
│ │ ├── qt_01_keyboard_input
│ │ │ ├── main.cpp
│ │ │ ├── qt_01_keyboard_input.vcxproj
│ │ │ └── qt_01_keyboard_input.vcxproj.filters
│ │ ├── qt_02_comboBox
│ │ │ ├── main.cpp
│ │ │ ├── qt_02_comboBox.vcxproj
│ │ │ └── qt_02_comboBox.vcxproj.filters
│ │ ├── qt_03_dialog
│ │ │ ├── main.cpp
│ │ │ ├── qt_03_dialog.vcxproj
│ │ │ └── qt_03_dialog.vcxproj.filters
│ │ ├── qt_04_slider
│ │ │ ├── main.cpp
│ │ │ ├── qt_04_slider.vcxproj
│ │ │ └── qt_04_slider.vcxproj.filters
│ │ ├── qt_05_spinbox
│ │ │ ├── main.cpp
│ │ │ ├── qt_05_spinbox.vcxproj
│ │ │ └── qt_05_spinbox.vcxproj.filters
│ │ ├── qt_06_frame
│ │ │ ├── main.cpp
│ │ │ ├── qt_06_frame.vcxproj
│ │ │ └── qt_06_frame.vcxproj.filters
│ │ └── qt_GSGU_2_7.sln
│ └── qt_GSGU_2_9-0
│ │ ├── qgraphicsview_00_basic
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_00_basic.vcxproj
│ │ └── qgraphicsview_00_basic.vcxproj.filters
│ │ ├── qgraphicsview_01_basic
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── main.exe
│ │ ├── qgraphicsview_01_basic.vcxproj
│ │ └── qgraphicsview_01_basic.vcxproj.filters
│ │ ├── qgraphicsview_02_basic
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_02_basic.vcxproj
│ │ └── qgraphicsview_02_basic.vcxproj.filters
│ │ ├── qgraphicsview_03_custom_view
│ │ ├── lxqgraphicsview.cpp
│ │ ├── lxqgraphicsview.h
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_03_custom_view.vcxproj
│ │ └── qgraphicsview_03_custom_view.vcxproj.filters
│ │ ├── qgraphicsview_04_custom_item
│ │ ├── lxqgraphicsitem.cpp
│ │ ├── lxqgraphicsitem.h
│ │ ├── lxqgraphicsview.cpp
│ │ ├── lxqgraphicsview.h
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_04_custom_item.vcxproj
│ │ └── qgraphicsview_04_custom_item.vcxproj.filters
│ │ ├── qgraphicsview_05_custom_scene
│ │ ├── lxqgraphicsitem.cpp
│ │ ├── lxqgraphicsitem.h
│ │ ├── lxqgraphicsscene.cpp
│ │ ├── lxqgraphicsscene.h
│ │ ├── lxqgraphicsview.cpp
│ │ ├── lxqgraphicsview.h
│ │ ├── lxqmainwindow.cpp
│ │ ├── lxqmainwindow.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_05_custom_scene.vcxproj
│ │ └── qgraphicsview_05_custom_scene.vcxproj.filters
│ │ ├── qgraphicsview_06_drag_drop_node
│ │ ├── Resource.qrc
│ │ ├── common.h
│ │ ├── images
│ │ │ └── move.png
│ │ ├── lxdragdropwidget.ui
│ │ ├── lxqdragdropwidget.cpp
│ │ ├── lxqdragdropwidget.h
│ │ ├── lxqgraphicsitem.cpp
│ │ ├── lxqgraphicsitem.h
│ │ ├── lxqgraphicsscene.cpp
│ │ ├── lxqgraphicsscene.h
│ │ ├── lxqgraphicsview.cpp
│ │ ├── lxqgraphicsview.h
│ │ ├── lxqtreewidget.cpp
│ │ ├── lxqtreewidget.h
│ │ ├── lxqundocommands.cpp
│ │ ├── lxqundocommands.h
│ │ ├── lxqundoview.cpp
│ │ ├── lxqundoview.h
│ │ ├── main.cpp
│ │ ├── qgraphicsview_06_drag_drop_node.vcxproj
│ │ └── qgraphicsview_06_drag_drop_node.vcxproj.filters
│ │ ├── qt_coord
│ │ ├── lxqcircle.cpp
│ │ ├── lxqcircle.h
│ │ ├── main.cpp
│ │ ├── qt_coord.vcxproj
│ │ └── qt_coord.vcxproj.filters
│ │ ├── qt_learn_qgraphicsview.sln
│ │ ├── qtpropertybrowser_00_basic
│ │ ├── main.cpp
│ │ ├── qtbuttonpropertybrowser.cpp
│ │ ├── qtbuttonpropertybrowser.h
│ │ ├── qteditorfactory.cpp
│ │ ├── qteditorfactory.h
│ │ ├── qtgroupboxpropertybrowser.cpp
│ │ ├── qtgroupboxpropertybrowser.h
│ │ ├── qtpropertybrowser.cpp
│ │ ├── qtpropertybrowser.h
│ │ ├── qtpropertybrowser_00_basic.vcxproj
│ │ ├── qtpropertybrowser_00_basic.vcxproj.filters
│ │ ├── qtpropertybrowserutils.cpp
│ │ ├── qtpropertybrowserutils_p.h
│ │ ├── qtpropertymanager.cpp
│ │ ├── qtpropertymanager.h
│ │ ├── qttreepropertybrowser.cpp
│ │ ├── qttreepropertybrowser.h
│ │ ├── qtvariantproperty.cpp
│ │ └── qtvariantproperty.h
│ │ ├── qtpropertybrowser_01_custom_manager
│ │ ├── lxqtpropertymanager.cpp
│ │ ├── lxqtpropertymanager.h
│ │ ├── main.cpp
│ │ ├── qtbuttonpropertybrowser.cpp
│ │ ├── qtbuttonpropertybrowser.h
│ │ ├── qteditorfactory.cpp
│ │ ├── qteditorfactory.h
│ │ ├── qtgroupboxpropertybrowser.cpp
│ │ ├── qtgroupboxpropertybrowser.h
│ │ ├── qtpropertybrowser.cpp
│ │ ├── qtpropertybrowser.h
│ │ ├── qtpropertybrowser_01_custom_manager.vcxproj
│ │ ├── qtpropertybrowser_01_custom_manager.vcxproj.filters
│ │ ├── qtpropertybrowserutils.cpp
│ │ ├── qtpropertybrowserutils_p.h
│ │ ├── qtpropertymanager.cpp
│ │ ├── qtpropertymanager.h
│ │ ├── qttreepropertybrowser.cpp
│ │ ├── qttreepropertybrowser.h
│ │ ├── qtvariantproperty.cpp
│ │ └── qtvariantproperty.h
│ │ └── qtpropertybrowser_02_custom_factory
│ │ ├── lxqtpropertyfactory.cpp
│ │ ├── lxqtpropertyfactory.h
│ │ ├── lxqtpropertymanager.cpp
│ │ ├── lxqtpropertymanager.h
│ │ ├── lxqtpropertyvalidator.cpp
│ │ ├── lxqtpropertyvalidator.h
│ │ ├── main.cpp
│ │ ├── qtbuttonpropertybrowser.cpp
│ │ ├── qtbuttonpropertybrowser.h
│ │ ├── qteditorfactory.cpp
│ │ ├── qteditorfactory.h
│ │ ├── qtgroupboxpropertybrowser.cpp
│ │ ├── qtgroupboxpropertybrowser.h
│ │ ├── qtpropertybrowser.cpp
│ │ ├── qtpropertybrowser.h
│ │ ├── qtpropertybrowser_02_custom_factory.vcxproj
│ │ ├── qtpropertybrowser_02_custom_factory.vcxproj.filters
│ │ ├── qtpropertybrowserutils.cpp
│ │ ├── qtpropertybrowserutils_p.h
│ │ ├── qtpropertymanager.cpp
│ │ ├── qtpropertymanager.h
│ │ ├── qttreepropertybrowser.cpp
│ │ ├── qttreepropertybrowser.h
│ │ ├── qtvariantproperty.cpp
│ │ └── qtvariantproperty.h
│ ├── 02python
│ └── qt_GSGU_2_1
│ │ └── qtnamespace
│ │ └── main.py
│ ├── allQtClass.py
│ └── allWidget.py
└── qt_project
├── README.md
├── demo_use_propertybrowser
├── canvas_typed
│ ├── canvas_typed.pro
│ ├── canvas_typed.qdoc
│ ├── main.cpp
│ ├── mainwindow.cpp
│ ├── mainwindow.h
│ ├── qtcanvas.cpp
│ └── qtcanvas.h
├── canvas_variant
│ ├── canvas_variant.pro
│ ├── canvas_variant.qdoc
│ ├── main.cpp
│ ├── mainwindow.cpp
│ ├── mainwindow.h
│ ├── qtcanvas.cpp
│ └── qtcanvas.h
├── decoration
│ ├── decoration.pro
│ ├── decoration.qdoc
│ ├── main.cpp
│ ├── mydoublepropertymanager.cpp
│ ├── mydoublepropertymanager.h
│ ├── mydoublespinboxfactory.cpp
│ └── mydoublespinboxfactory.h
├── demo
│ ├── demo.pro
│ ├── demo.qdoc
│ ├── demo.qrc
│ ├── images
│ │ ├── down.png
│ │ ├── left.png
│ │ ├── right.png
│ │ └── up.png
│ └── main.cpp
├── demo_use_propertybrowser.pro
├── demo_use_propertybrowser.pro.user
├── extension
│ ├── extension.pro
│ ├── extension.qdoc
│ └── main.cpp
├── object_controller
│ ├── main.cpp
│ ├── object_controller.pro
│ ├── objectcontroller.cpp
│ └── objectcontroller.h
├── qtpropertybrowser
│ ├── INSTALL.TXT
│ ├── README.TXT
│ ├── buildlib
│ │ └── buildlib.pro
│ ├── common.pri
│ ├── configure
│ ├── configure.bat
│ ├── doc
│ │ ├── html
│ │ │ ├── classic.css
│ │ │ ├── images
│ │ │ │ ├── canvas_typed.png
│ │ │ │ ├── canvas_variant.png
│ │ │ │ ├── decoration.png
│ │ │ │ ├── demo.png
│ │ │ │ ├── extension.png
│ │ │ │ ├── object_controller.png
│ │ │ │ ├── qt-logo.png
│ │ │ │ ├── qtbuttonpropertybrowser.png
│ │ │ │ ├── qtgroupboxpropertybrowser.png
│ │ │ │ ├── qtpropertybrowser-duplicate.png
│ │ │ │ ├── qtpropertybrowser.png
│ │ │ │ ├── qttreepropertybrowser.png
│ │ │ │ └── simple.png
│ │ │ ├── index.html
│ │ │ ├── qtabstracteditorfactory-members.html
│ │ │ ├── qtabstracteditorfactory.html
│ │ │ ├── qtabstracteditorfactorybase-members.html
│ │ │ ├── qtabstracteditorfactorybase.html
│ │ │ ├── qtabstractpropertybrowser-members.html
│ │ │ ├── qtabstractpropertybrowser.html
│ │ │ ├── qtabstractpropertymanager-members.html
│ │ │ ├── qtabstractpropertymanager.html
│ │ │ ├── qtboolpropertymanager-members.html
│ │ │ ├── qtboolpropertymanager.html
│ │ │ ├── qtbrowseritem-members.html
│ │ │ ├── qtbrowseritem.html
│ │ │ ├── qtbuttonpropertybrowser-members.html
│ │ │ ├── qtbuttonpropertybrowser.html
│ │ │ ├── qtchareditorfactory-members.html
│ │ │ ├── qtchareditorfactory.html
│ │ │ ├── qtcharpropertymanager-members.html
│ │ │ ├── qtcharpropertymanager.html
│ │ │ ├── qtcheckboxfactory-members.html
│ │ │ ├── qtcheckboxfactory.html
│ │ │ ├── qtcoloreditorfactory-members.html
│ │ │ ├── qtcoloreditorfactory.html
│ │ │ ├── qtcolorpropertymanager-members.html
│ │ │ ├── qtcolorpropertymanager.html
│ │ │ ├── qtcursoreditorfactory-members.html
│ │ │ ├── qtcursoreditorfactory.html
│ │ │ ├── qtcursorpropertymanager-members.html
│ │ │ ├── qtcursorpropertymanager.html
│ │ │ ├── qtdateeditfactory-members.html
│ │ │ ├── qtdateeditfactory.html
│ │ │ ├── qtdatepropertymanager-members.html
│ │ │ ├── qtdatepropertymanager.html
│ │ │ ├── qtdatetimeeditfactory-members.html
│ │ │ ├── qtdatetimeeditfactory.html
│ │ │ ├── qtdatetimepropertymanager-members.html
│ │ │ ├── qtdatetimepropertymanager.html
│ │ │ ├── qtdoublepropertymanager-members.html
│ │ │ ├── qtdoublepropertymanager.html
│ │ │ ├── qtdoublespinboxfactory-members.html
│ │ │ ├── qtdoublespinboxfactory.html
│ │ │ ├── qtenumeditorfactory-members.html
│ │ │ ├── qtenumeditorfactory.html
│ │ │ ├── qtenumpropertymanager-members.html
│ │ │ ├── qtenumpropertymanager.html
│ │ │ ├── qtflagpropertymanager-members.html
│ │ │ ├── qtflagpropertymanager.html
│ │ │ ├── qtfonteditorfactory-members.html
│ │ │ ├── qtfonteditorfactory.html
│ │ │ ├── qtfontpropertymanager-members.html
│ │ │ ├── qtfontpropertymanager.html
│ │ │ ├── qtgroupboxpropertybrowser-members.html
│ │ │ ├── qtgroupboxpropertybrowser.html
│ │ │ ├── qtgrouppropertymanager-members.html
│ │ │ ├── qtgrouppropertymanager.html
│ │ │ ├── qtintpropertymanager-members.html
│ │ │ ├── qtintpropertymanager.html
│ │ │ ├── qtkeysequenceeditorfactory-members.html
│ │ │ ├── qtkeysequenceeditorfactory.html
│ │ │ ├── qtkeysequencepropertymanager-members.html
│ │ │ ├── qtkeysequencepropertymanager.html
│ │ │ ├── qtlineeditfactory-members.html
│ │ │ ├── qtlineeditfactory.html
│ │ │ ├── qtlocalepropertymanager-members.html
│ │ │ ├── qtlocalepropertymanager.html
│ │ │ ├── qtpointfpropertymanager-members.html
│ │ │ ├── qtpointfpropertymanager.html
│ │ │ ├── qtpointpropertymanager-members.html
│ │ │ ├── qtpointpropertymanager.html
│ │ │ ├── qtproperty-members.html
│ │ │ ├── qtproperty.html
│ │ │ ├── qtpropertybrowser-example-canvas-typed.html
│ │ │ ├── qtpropertybrowser-example-canvas-variant.html
│ │ │ ├── qtpropertybrowser-example-decoration.html
│ │ │ ├── qtpropertybrowser-example-demo.html
│ │ │ ├── qtpropertybrowser-example-extension.html
│ │ │ ├── qtpropertybrowser-example-object-controller.html
│ │ │ ├── qtpropertybrowser-example-simple.html
│ │ │ ├── qtpropertybrowser.dcf
│ │ │ ├── qtpropertybrowser.index
│ │ │ ├── qtpropertybrowser.qhp
│ │ │ ├── qtrectfpropertymanager-members.html
│ │ │ ├── qtrectfpropertymanager.html
│ │ │ ├── qtrectpropertymanager-members.html
│ │ │ ├── qtrectpropertymanager.html
│ │ │ ├── qtscrollbarfactory-members.html
│ │ │ ├── qtscrollbarfactory.html
│ │ │ ├── qtsizefpropertymanager-members.html
│ │ │ ├── qtsizefpropertymanager.html
│ │ │ ├── qtsizepolicypropertymanager-members.html
│ │ │ ├── qtsizepolicypropertymanager.html
│ │ │ ├── qtsizepropertymanager-members.html
│ │ │ ├── qtsizepropertymanager.html
│ │ │ ├── qtsliderfactory-members.html
│ │ │ ├── qtsliderfactory.html
│ │ │ ├── qtspinboxfactory-members.html
│ │ │ ├── qtspinboxfactory.html
│ │ │ ├── qtstringpropertymanager-members.html
│ │ │ ├── qtstringpropertymanager.html
│ │ │ ├── qttimeeditfactory-members.html
│ │ │ ├── qttimeeditfactory.html
│ │ │ ├── qttimepropertymanager-members.html
│ │ │ ├── qttimepropertymanager.html
│ │ │ ├── qttreepropertybrowser-members.html
│ │ │ ├── qttreepropertybrowser.html
│ │ │ ├── qtvarianteditorfactory-members.html
│ │ │ ├── qtvarianteditorfactory.html
│ │ │ ├── qtvariantproperty-members.html
│ │ │ ├── qtvariantproperty.html
│ │ │ ├── qtvariantpropertymanager-members.html
│ │ │ └── qtvariantpropertymanager.html
│ │ ├── images
│ │ │ ├── canvas_typed.png
│ │ │ ├── canvas_variant.png
│ │ │ ├── decoration.png
│ │ │ ├── demo.png
│ │ │ ├── extension.png
│ │ │ ├── object_controller.png
│ │ │ ├── qt-logo.png
│ │ │ ├── qtbuttonpropertybrowser.png
│ │ │ ├── qtgroupboxpropertybrowser.png
│ │ │ ├── qtpropertybrowser-duplicate.png
│ │ │ ├── qtpropertybrowser.png
│ │ │ ├── qttreepropertybrowser.png
│ │ │ └── simple.png
│ │ └── index.qdoc
│ ├── examples
│ │ ├── canvas_typed
│ │ │ ├── canvas_typed.pro
│ │ │ ├── canvas_typed.qdoc
│ │ │ ├── main.cpp
│ │ │ ├── mainwindow.cpp
│ │ │ ├── mainwindow.h
│ │ │ ├── qtcanvas.cpp
│ │ │ └── qtcanvas.h
│ │ ├── canvas_variant
│ │ │ ├── canvas_variant.pro
│ │ │ ├── canvas_variant.qdoc
│ │ │ ├── main.cpp
│ │ │ ├── mainwindow.cpp
│ │ │ ├── mainwindow.h
│ │ │ ├── qtcanvas.cpp
│ │ │ └── qtcanvas.h
│ │ ├── decoration
│ │ │ ├── decoration.pro
│ │ │ ├── decoration.qdoc
│ │ │ └── main.cpp
│ │ ├── demo
│ │ │ ├── demo.pro
│ │ │ ├── demo.qdoc
│ │ │ ├── demo.qrc
│ │ │ ├── images
│ │ │ │ ├── down.png
│ │ │ │ ├── left.png
│ │ │ │ ├── right.png
│ │ │ │ └── up.png
│ │ │ └── main.cpp
│ │ ├── examples.pro
│ │ ├── extension
│ │ │ ├── extension.pro
│ │ │ ├── extension.qdoc
│ │ │ └── main.cpp
│ │ ├── object_controller
│ │ │ ├── main.cpp
│ │ │ ├── object_controller.pro
│ │ │ ├── object_controller.qdoc
│ │ │ ├── objectcontroller.cpp
│ │ │ └── objectcontroller.h
│ │ └── simple
│ │ │ ├── main.cpp
│ │ │ ├── simple.pro
│ │ │ └── simple.qdoc
│ ├── qtpropertybrowser.pro
│ ├── qtpropertybrowser.pro.user
│ └── src
│ │ ├── QtAbstractEditorFactoryBase
│ │ ├── QtAbstractPropertyBrowser
│ │ ├── QtAbstractPropertyManager
│ │ ├── QtBoolPropertyManager
│ │ ├── QtBrowserItem
│ │ ├── QtButtonPropertyBrowser
│ │ ├── QtCharEditorFactory
│ │ ├── QtCharPropertyManager
│ │ ├── QtCheckBoxFactory
│ │ ├── QtColorEditorFactory
│ │ ├── QtColorPropertyManager
│ │ ├── QtCursorEditorFactory
│ │ ├── QtCursorPropertyManager
│ │ ├── QtDateEditFactory
│ │ ├── QtDatePropertyManager
│ │ ├── QtDateTimeEditFactory
│ │ ├── QtDateTimePropertyManager
│ │ ├── QtDoublePropertyManager
│ │ ├── QtDoubleSpinBoxFactory
│ │ ├── QtEnumEditorFactory
│ │ ├── QtEnumPropertyManager
│ │ ├── QtFlagPropertyManager
│ │ ├── QtFontEditorFactory
│ │ ├── QtFontPropertyManager
│ │ ├── QtGroupBoxPropertyBrowser
│ │ ├── QtGroupPropertyManager
│ │ ├── QtIntPropertyManager
│ │ ├── QtKeySequenceEditorFactory
│ │ ├── QtKeySequencePropertyManager
│ │ ├── QtLineEditFactory
│ │ ├── QtLocalePropertyManager
│ │ ├── QtPointFPropertyManager
│ │ ├── QtPointPropertyManager
│ │ ├── QtProperty
│ │ ├── QtRectFPropertyManager
│ │ ├── QtRectPropertyManager
│ │ ├── QtScrollBarFactory
│ │ ├── QtSizeFPropertyManager
│ │ ├── QtSizePolicyPropertyManager
│ │ ├── QtSizePropertyManager
│ │ ├── QtSliderFactory
│ │ ├── QtSpinBoxFactory
│ │ ├── QtStringPropertyManager
│ │ ├── QtTimeEditFactory
│ │ ├── QtTimePropertyManager
│ │ ├── QtTreePropertyBrowser
│ │ ├── QtVariantEditorFactory
│ │ ├── QtVariantProperty
│ │ ├── QtVariantPropertyManager
│ │ ├── images
│ │ ├── cursor-arrow.png
│ │ ├── cursor-busy.png
│ │ ├── cursor-closedhand.png
│ │ ├── cursor-cross.png
│ │ ├── cursor-forbidden.png
│ │ ├── cursor-hand.png
│ │ ├── cursor-hsplit.png
│ │ ├── cursor-ibeam.png
│ │ ├── cursor-openhand.png
│ │ ├── cursor-sizeall.png
│ │ ├── cursor-sizeb.png
│ │ ├── cursor-sizef.png
│ │ ├── cursor-sizeh.png
│ │ ├── cursor-sizev.png
│ │ ├── cursor-uparrow.png
│ │ ├── cursor-vsplit.png
│ │ ├── cursor-wait.png
│ │ └── cursor-whatsthis.png
│ │ ├── qtbuttonpropertybrowser.cpp
│ │ ├── qtbuttonpropertybrowser.h
│ │ ├── qteditorfactory.cpp
│ │ ├── qteditorfactory.h
│ │ ├── qtgroupboxpropertybrowser.cpp
│ │ ├── qtgroupboxpropertybrowser.h
│ │ ├── qtpropertybrowser.cpp
│ │ ├── qtpropertybrowser.h
│ │ ├── qtpropertybrowser.pri
│ │ ├── qtpropertybrowser.qrc
│ │ ├── qtpropertybrowserutils.cpp
│ │ ├── qtpropertybrowserutils_p.h
│ │ ├── qtpropertymanager.cpp
│ │ ├── qtpropertymanager.h
│ │ ├── qttreepropertybrowser.cpp
│ │ ├── qttreepropertybrowser.h
│ │ ├── qtvariantproperty.cpp
│ │ └── qtvariantproperty.h
└── simple
│ ├── cn.qm
│ ├── cn.ts
│ ├── main.cpp
│ ├── simple.pro
│ └── simple.qrc
└── flow_layout_and_sizehint
├── flow_layout.sln
├── flow_layout
├── flow_layout.vcxproj
├── flow_layout.vcxproj.filters
├── flow_layout.vcxproj.user
├── flowlayout.cpp
├── flowlayout.h
├── main.cpp
├── mywidget.cpp
└── mywidget.h
└── sizehint_minimumsizehint
├── demo.cpp
├── demo.h
├── main.cpp
├── sizehint_minimumsizehint.vcxproj
├── sizehint_minimumsizehint.vcxproj.filters
└── sizehint_minimumsizehint.vcxproj.user
/2d_3d_vision/README.md:
--------------------------------------------------------------------------------
1 | ## 依赖的环境D:\depnedency
2 | - Eigen3
3 | - opencv346(内部依赖vtk的dll)
4 | ## 由于文件较大,不适合上传Git,有需要者,进QQ群675866892,下载依赖的dll
5 |
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/ppt/0.0相机标定原理.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/ppt/0.0相机标定原理.pptx
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.2092
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CalibRapid", "CalibRapid\CalibRapid.vcxproj", "{DE520820-00F2-4B49-8DE4-232D7475A5E4}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {DE520820-00F2-4B49-8DE4-232D7475A5E4}.Debug|x64.ActiveCfg = Debug|x64
15 | {DE520820-00F2-4B49-8DE4-232D7475A5E4}.Debug|x64.Build.0 = Debug|x64
16 | {DE520820-00F2-4B49-8DE4-232D7475A5E4}.Release|x64.ActiveCfg = Release|x64
17 | {DE520820-00F2-4B49-8DE4-232D7475A5E4}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {AA1AB543-9243-4D3B-BCA3-BE238814E537}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/CalibRapid.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/extrinsic.png
4 | images/intrinsic.png
5 | images/loading.gif
6 | images/sizegrip.png
7 | images/stereo.png
8 | CalibRapid.qss
9 |
10 |
11 |
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/cameracalib.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | #include "opencv2/opencv.hpp"
4 | #include "opencv2/core/eigen.hpp" ///< opencv 和 eigen 互转
5 | #include "cameracalib_common.h"
6 |
7 | class CameraCalib_OpenCV
8 | {
9 | public:
10 | CameraCalib_OpenCV() = delete;
11 |
12 | /**画出角点*/
13 | static bool drawCorners(cv::Mat& inImgMat, CalibBoardInfo& boardInfo);
14 |
15 | /**内参标定,输出camMat为3x3矩阵为相机内参,输出distCoeff为5x1列向量*/
16 | static bool calibInter(cv::Mat& camMat, cv::Mat& distCoeff, std::vector& vImgMat, CalibBoardInfo& boardInfo);
17 |
18 | /**外参标定,输出result为4x4矩阵,为cam to base 的变换*/
19 | static bool calibExter(cv::Mat& result, std::vector& vRobotInfo,cv::Mat& camMat, cv::Mat& distCoeff,
20 | CalibBoardInfo& boardInfo,
21 | HandEyeType handEyeType = HandEyeType::EYE_TO_HAND_ARTIC);
22 |
23 | /**双目标定,输出result为4x4矩阵,为cam1 to cam2 的变换*/
24 | //static bool calibStereo(cv::Mat& result, std::string cam1ImgDir, std::string cam2ImgDir, lxCalibBoardInfo_OpenCV& boardInfo);
25 |
26 | private:
27 | class Impl;
28 | };
29 |
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/1.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/2.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/3.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/4.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/5.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/6.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/7.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/JSON文件说明.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/JSON文件说明.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/robot_pose.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "img_path": "1.png",
4 | "xyz": [
5 | 1766.74,
6 | -1089.17,
7 | 960.96
8 | ],
9 | "orient": [
10 | 0.1738,-0.69496,0.21776,0.66288
11 | ]
12 | },
13 | {
14 | "img_path": "2.png",
15 | "xyz": [
16 | 1909.28,
17 | -766.33,
18 | 1075.17
19 | ],
20 | "orient": [
21 | 0.10458,-0.77213,0.17165,0.60284
22 | ]
23 | },
24 | {
25 | "img_path": "3.png",
26 | "xyz": [
27 | 1971.07,
28 | -539.88,
29 | 1111.63
30 | ],
31 | "orient": [
32 | 0.07884,-0.71187,0.11482,0.68836
33 | ]
34 | },
35 | {
36 | "img_path": "4.png",
37 | "xyz": [
38 | 1889.71,
39 | -514.84,
40 | 1134.16
41 | ],
42 | "orient": [
43 | 0.08822,-0.61118,0.09657,0.78061
44 | ]
45 | },
46 | {
47 | "img_path": "5.png",
48 | "xyz": [
49 | 1706.12,
50 | -834.53,
51 | 1342.29
52 | ],
53 | "orient": [
54 | 0.15308,-0.64727,0.16583,0.72808
55 | ]
56 | },
57 | {
58 | "img_path": "6.png",
59 | "xyz": [
60 | 1614.17,
61 | -772.72,
62 | 1469.22
63 | ],
64 | "orient": [
65 | 0.09792,-0.62820,0.19566,0.74666
66 | ]
67 | },
68 | {
69 | "img_path": "7.png",
70 | "xyz": [
71 | 1682.31,
72 | -444.25,
73 | 1508.84
74 | ],
75 | "orient": [
76 | 0.21025,-0.65064,0.0,0.72970
77 | ]
78 | }
79 | ]
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/data/single_calib.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | ---
3 | camera_matrix: !!opencv-matrix
4 | rows: 3
5 | cols: 3
6 | dt: d
7 | data: [ 1.2021120939873149e+03, 0., 1.0271365300105685e+03, 0.,
8 | 1.2017281260839716e+03, 7.9238198831882858e+02, 0., 0., 1. ]
9 | dist_coeffs: !!opencv-matrix
10 | rows: 14
11 | cols: 1
12 | dt: d
13 | data: [ 3.4507967432119124e+00, 1.6033261049808978e-01,
14 | 1.2400955322082504e-04, 6.5486373011738679e-04,
15 | 1.9957779489317648e-01, 3.5549784970424172e+00,
16 | 3.7418169970879089e-01, -7.0695811882750231e-02, 0., 0., 0., 0.,
17 | 1.2864507351539101e-03, 3.9127983549074527e-03 ]
18 | reproj_err: 3.0969008803367615e-02
19 |
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/flowlayout.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | /** @brief Qt流式布局实现 */
8 | class FlowLayout : public QLayout
9 | {
10 | public:
11 | explicit FlowLayout(QWidget *parent, int margin = -1, int hSpacing = -1, int vSpacing = -1);
12 | explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1);
13 | ~FlowLayout();
14 |
15 | /** 获取当前水平及竖直间距 */
16 | int horizontalSpacing() const;
17 | int verticalSpacing() const;
18 |
19 | /** 常规基类布局函数重写 */
20 | void addItem(QLayoutItem *item) override;
21 | Qt::Orientations expandingDirections() const override;
22 | bool hasHeightForWidth() const override;
23 | int heightForWidth(int) const override;
24 | int count() const override;
25 | QLayoutItem *itemAt(int index) const override;
26 | QSize minimumSize() const override;
27 | void setGeometry(const QRect &rect) override;
28 | QSize sizeHint() const override;
29 | QLayoutItem *takeAt(int index) override;
30 |
31 | private:
32 |
33 | /** 设置布局 */
34 | int doLayout(const QRect &rect, bool testOnly) const;
35 |
36 | /** 像素间距设置 */
37 | int smartSpacing(QStyle::PixelMetric pm) const;
38 |
39 | QList m_listItems; ///< 容器列表
40 | int m_nHSpace; ///< 竖直间距
41 | int m_nVSpace; ///< 水平间距
42 | };
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/extrinsic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/extrinsic.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/intrinsic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/intrinsic.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/loading.gif
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/sizegrip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/sizegrip.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/stereo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/images/stereo.png
--------------------------------------------------------------------------------
/2d_3d_vision/camera_calib/src/CalibRapid/CalibRapid/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "mainwindow.h"
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | QString qss;
9 | QFile qssFile(":./CalibRapid.qss");
10 | if (qssFile.open(QFile::ReadOnly))
11 | {
12 | qss += qssFile.readAll();
13 |
14 | qssFile.close();
15 | }
16 | a.setStyleSheet(qss);
17 |
18 | MainWindow mw;
19 | mw.show();
20 |
21 | return a.exec();
22 | }
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | QT 相关工程
2 |
--------------------------------------------------------------------------------
/pyqt_project/README.md:
--------------------------------------------------------------------------------
1 | QT的同时,重新回顾Python语言
2 |
--------------------------------------------------------------------------------
/pyqt_project/basic_code/set_application_icon.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtWidgets import QApplication, QMainWindow
2 | from PyQt5.QtGui import QIcon
3 | import sys
4 | import pkg_resources
5 |
6 | if __name__ == '__main__':
7 | app = QApplication(sys.argv)
8 |
9 | iconPath = pkg_resources.resource_filename(
10 | "orangecanvas", "icons/orange-canvas.svg"
11 | ) # 第一个参数为包名 第二个参数为相对于包的路径
12 | app.setWindowIcon(QIcon(iconPath))
13 | mw = QMainWindow()
14 | mw.show()
15 |
16 | exit(app.exec())
17 |
--------------------------------------------------------------------------------
/pyqt_project/custom_signal_slot/main.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtCore import QObject, pyqtSignal as Signal
2 |
3 |
4 | class Demo(QObject):
5 | clicked = Signal(str)
6 |
7 |
8 | def slot(s: str):
9 | print("receive:", s)
10 |
11 |
12 | if __name__ == '__main__':
13 | d = Demo()
14 | d.clicked.connect(slot) # 连接信号和槽
15 |
16 | d.clicked.emit("tom") # 发射信号
17 | d.clicked.emit("jack") # 发射信号
18 |
--------------------------------------------------------------------------------
/pyqt_project/demo0001/main.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtWidgets import QApplication
2 | from PyQt5.QtWidgets import QMainWindow
3 | import sys
4 |
5 | if __name__ == '__main__':
6 | app = QApplication(sys.argv)
7 |
8 | mw = QMainWindow()
9 | mw.show()
10 |
11 | app.exec()
12 |
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/README.txt:
--------------------------------------------------------------------------------
1 | 1,python包管理的三种布局:
2 | - "src-layout": a directory representing a Python project that contains a "src"
3 | folder. Everything under the "src" folder is meant to be included in the
4 | distribution when packaging the project. Example::
5 |
6 | .
7 | ├── tox.ini
8 | ├── pyproject.toml
9 | └── src/
10 | └── mypkg/
11 | ├── __init__.py
12 | ├── mymodule.py
13 | └── my_data_file.txt
14 |
15 | - "flat-layout": a Python project that does not use "src-layout" but instead
16 | have a directory under the project root for each package::
17 |
18 | .
19 | ├── tox.ini
20 | ├── pyproject.toml
21 | └── mypkg/
22 | ├── __init__.py
23 | ├── mymodule.py
24 | └── my_data_file.txt
25 |
26 | - "single-module": a project that contains a single Python script direct under
27 | the project root (no directory used)::
28 |
29 | .
30 | ├── tox.ini
31 | ├── pyproject.toml
32 | └── mymodule.py
33 |
34 | 2, pip install .
35 | 3, pip install -e .
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup, find_packages
2 |
3 | setup(
4 | name="demo_pkg",
5 | version="0.0.1",
6 | packages=find_packages("src"), # 包在src下
7 | package_dir={"": "src"}, # 包在src下
8 | package_data={
9 | "":["*.xml"], # 所有包中的xml
10 | "widget":["*.json"], # widget包中的json
11 | "widget.widget2":["*.txt"], # widget.widget2包中的txt
12 | },
13 | entry_points={
14 | "console_scripts":[
15 | "zcb = widget.widget2.a2:test_a2",
16 | ],
17 | "zxxx": ( # 生成插件
18 | 'example = widget.widget2',
19 | 'example2 = widget.widget2.a2',
20 | ),
21 | }
22 | )
23 |
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/__init__.py:
--------------------------------------------------------------------------------
1 | def test():
2 | print("hello world outer3 ")
3 | input("请输入")
4 |
5 | if __name__ == "__main__":
6 | test()
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/a.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/a.json
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/a.py:
--------------------------------------------------------------------------------
1 | def test():
2 | print("hello world outer3 ")
3 |
4 | if __name__ == "__main__":
5 | test()
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/a.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/a.txt
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/a.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/a.xml
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/widget2/__init__.py:
--------------------------------------------------------------------------------
1 | def test():
2 | print("hello world inner ")
3 |
4 | if __name__ == "__main__":
5 | test()
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/widget2/a2.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/widget2/a2.json
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/widget2/a2.py:
--------------------------------------------------------------------------------
1 | def test_a2():
2 | print("hello world test a2 ")
3 |
4 | if __name__ == "__main__":
5 | test_a2()
6 |
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/widget2/a2.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/widget2/a2.txt
--------------------------------------------------------------------------------
/pyqt_project/demo_pkg/src/widget/widget2/a2.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/demo_pkg/src/widget/widget2/a2.xml
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/README.md:
--------------------------------------------------------------------------------
1 | Orange3是基于PyQt的一个开源的拖拽式的数据分析,数据可视化框架
2 |
3 | 官网:https://github.com/biolab/orange3
4 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb03/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup
2 |
3 |
4 | setup(
5 | name="ZCBName", # pip list name
6 | packages=["zcbpkg"], # pkg name
7 | entry_points={
8 | # entry point anytext = path
9 | "orange.widgets": ("anytext = zcbpkg",)
10 | },
11 | )
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb03/zcbpkg/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb03/zcbpkg/__init__.py
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup
2 |
3 | setup(
4 | name="zcbpkg", # pip list name
5 | packages=["zcbpkg"], # package name
6 | entry_points={
7 | "orange.widgets": ["any_text = zcbpkg",]
8 | }
9 | )
10 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__init__.py
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/__init__.cpython-38.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/__init__.cpython-38.pyc
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/lxQIntNumber.cpython-38.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/lxQIntNumber.cpython-38.pyc
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/lxQIntNumber2.cpython-38.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/__pycache__/lxQIntNumber2.cpython-38.pyc
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/orange.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/orange.ico
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-addon-zcb04/zcbpkg/orange.png
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include orangecontrib/example/tutorials/*.ows
2 | include orangecontrib/example/widgets/icons/*
3 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/README.md:
--------------------------------------------------------------------------------
1 | Orange3 Example Add-on
2 | ======================
3 |
4 | This is an example add-on for [Orange3](http://orange.biolab.si). Add-on can extend Orange either
5 | in scripting or GUI part, or in both. We here focus on the GUI part and implement a simple (empty) widget,
6 | register it with Orange and add a new workflow with this widget to example tutorials.
7 |
8 | Installation
9 | ------------
10 |
11 | To install the add-on from source run
12 |
13 | pip install .
14 |
15 | To register this add-on with Orange, but keep the code in the development directory (do not copy it to
16 | Python's site-packages directory), run
17 |
18 | pip install -e .
19 |
20 | Documentation / widget help can be built by running
21 |
22 | make html htmlhelp
23 |
24 | from the doc directory.
25 |
26 | Usage
27 | -----
28 |
29 | After the installation, the widget from this add-on is registered with Orange. To run Orange from the terminal,
30 | use
31 |
32 | orange-canvas
33 |
34 | or
35 |
36 | python -m Orange.canvas
37 |
38 | The new widget appears in the toolbox bar under the section Example.
39 |
40 | 
41 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/README.pypi:
--------------------------------------------------------------------------------
1 | Orange3 Explain
2 | ===============
3 |
4 | Short description for the PyPI.
5 | See [documentation](http://orange3-imageanalytics.readthedocs.org/).
6 |
7 | Features
8 | --------
9 | #### List of key features
10 | * Feature 1
11 | * Feature 2
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/doc/widgets/icons/mywidget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-example-addon/doc/widgets/icons/mywidget.png
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/doc/widgets/mywidget.md:
--------------------------------------------------------------------------------
1 | Hello World
2 | ===========
3 |
4 | 
5 |
6 | A dummy widget that greets the world.
7 |
8 | Signals
9 | -------
10 |
11 | - (None)
12 |
13 | **Outputs**:
14 |
15 | - (None)
16 |
17 | Description
18 | -----------
19 |
20 | This is a simple widget that greets the world using a QLabel. If you are interested in widget development, you should take a look at it's source code.
21 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/__init__.py:
--------------------------------------------------------------------------------
1 | __import__("pkg_resources").declare_namespace(__name__)
2 | # orangecontrib is a namespace modules shared by multiple Orange add-on so it
3 | # needs to declare namespace.
4 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/__init__.py
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tests/__init__.py
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tests/test_example.py:
--------------------------------------------------------------------------------
1 | import unittest
2 | from Orange.widgets.tests.base import WidgetTest
3 |
4 | from orangecontrib.example.widgets.mywidget import MyWidget
5 |
6 |
7 | class ExampleTests(unittest.TestCase):
8 | def test_addition(self):
9 | self.assertEqual(1 + 1, 2)
10 |
11 |
12 | class TestMyWidget(WidgetTest):
13 | def setUp(self):
14 | self.widget = self.create_widget(MyWidget)
15 |
16 | def test_addition(self):
17 | self.assertEqual(1 + 1, 2)
18 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tutorials/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tutorials/__init__.py
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/tutorials/example_tutorial.ows:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | This is a wiget from an addon
10 |
11 |
12 |
13 | gAN9cQBYEwAAAHNhdmVkV2lkZ2V0R2VvbWV0cnlxAWNzaXAKX3VucGlja2xlX3R5cGUKcQJYDAAA
14 | AFB5UXQ0LlF0Q29yZXEDWAoAAABRQnl0ZUFycmF5cQRDLgHZ0MsAAQAAAAAGEQAABHQAAAbYAAAE
15 | 7QAABhEAAASKAAAG2AAABO0AAAAAAABxBYVxBodxB1JxCHMu
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/widgets/__init__.py:
--------------------------------------------------------------------------------
1 | import sysconfig
2 | # Category metadata.
3 |
4 | # Category icon show in the menu
5 | ICON = "icons/category.svg"
6 |
7 | # Background color for category background in menu
8 | # and widget icon background in workflow.
9 | BACKGROUND = "light-blue"
10 |
11 | # Location of widget help files.
12 | WIDGET_HELP_PATH = (
13 | # Development documentation
14 | # You need to build help pages manually using
15 | # make htmlhelp
16 | # inside doc folder
17 | ("{DEVELOP_ROOT}/doc/_build/htmlhelp/index.html", None),
18 |
19 | # Documentation included in wheel
20 | # Correct DATA_FILES entry is needed in setup.py and documentation has to be built
21 | # before the wheel is created.
22 | ("{}/help/orange3-example/index.html".format(sysconfig.get_path("data")), None),
23 |
24 | # Online documentation url, used when the local documentation is not available.
25 | # Url should point to a page with a section Widgets. This section should
26 | # includes links to documentation pages of each widget. Matching is
27 | # performed by comparing link caption to widget name.
28 | ("http://orange3-example-addon.readthedocs.io/en/latest/", "")
29 | )
30 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/widgets/icons/category.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/orangecontrib/example/widgets/icons/mywidget.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/orange3-example-addon/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/pyqt_project/my_orange3/orange3-example-addon/screenshot.png
--------------------------------------------------------------------------------
/pyqt_project/my_orange3/use_python_entry_points.py:
--------------------------------------------------------------------------------
1 | """
2 | 配合setup.py 使用
3 | """
4 | import pkg_resources
5 |
6 | ENTRY_POINT = "orange.widgets"
7 | entry_points_iter = pkg_resources.iter_entry_points(ENTRY_POINT)
8 | for entry_point in entry_points_iter:
9 | print(entry_point.name) # setup.py 中的 k
10 | print(entry_point.dist) # 版本信息
11 | print(entry_point.resolve()) # module object 模块对象
12 |
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxcg/lxrobot/__init__.py:
--------------------------------------------------------------------------------
1 | __import__("pkg_resources").declare_namespace(__name__)
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxcg/lxrobot/sql/__init__.py:
--------------------------------------------------------------------------------
1 | print("cg sql")
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxcg/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup,find_packages
2 |
3 |
4 | setup(
5 | name="sql",
6 | packages=find_packages(),
7 | namespace_packages = ["lxrobot"]
8 | )
9 |
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxzcb/lxrobot/__init__.py:
--------------------------------------------------------------------------------
1 | __import__("pkg_resources").declare_namespace(__name__)
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxzcb/lxrobot/canvas/__init__.py:
--------------------------------------------------------------------------------
1 | print("zcb canvas")
--------------------------------------------------------------------------------
/pyqt_project/my_pkg/lxzcb/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup,find_packages
2 |
3 |
4 | setup(
5 | name="canvas",
6 | packages=find_packages(),
7 | namespace_packages=["lxrobot"]
8 | )
9 |
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/README.md:
--------------------------------------------------------------------------------
1 | ## 工程说明
2 | SUBDIRS官方文档: https://wiki.qt.io/SUBDIRS_-_handling_dependencies
3 |
4 | 如果使用mingw的qmake,那么要对应使用mingw-win32-make
5 |
6 |
7 |
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/fooapp.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS = src/lib \
4 | src/lib2 \
5 | src/app \
6 |
7 | CONFIG += ordered
8 |
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/src/app/app.cpp:
--------------------------------------------------------------------------------
1 | #include "lib.h"
2 | #include "lib2.h"
3 |
4 | int main()
5 | {
6 |
7 | print();
8 | print2();
9 |
10 | return 0;
11 | }
12 |
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/src/app/app.pro:
--------------------------------------------------------------------------------
1 | HEADERS = lib.h lib2.h
2 | SOURCES = app.cpp
3 | LIBS += -L../lib/release -L../lib2/release -llib -llib2
4 |
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/src/app/lib.h:
--------------------------------------------------------------------------------
1 | void print();
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/src/app/lib2.h:
--------------------------------------------------------------------------------
1 | void print2();
--------------------------------------------------------------------------------
/qmake/多工程管理/fooapp/src/lib/lib.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "lib.h"
3 |
4 | void print(){
5 | std::cout << "print"<
2 | #include "lib2.h"
3 |
4 | void print2(){
5 | std::cout << "print2"<
4 |
5 |
6 | ### 视频链接
7 | Qt从入门到放弃^v^【GSGU:Getting Started to Giving Up 】
8 |
9 | ### Python 代码暂时未提供
10 |
--------------------------------------------------------------------------------
/qt_GSGU/images/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/images/tree.png
--------------------------------------------------------------------------------
/qt_GSGU/相关软件/QssStylesheetEditor1.6.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/相关软件/QssStylesheetEditor1.6.zip
--------------------------------------------------------------------------------
/qt_GSGU/相关软件/README.txt:
--------------------------------------------------------------------------------
1 | QssStyleSheetEditor1.6
2 | 如果双击AppStart.exe执行不起来,可以双击里面的AppStart.vbs
3 | TakerClor
4 | 用于取颜色的
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/相关软件/TakeColor.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/相关软件/TakeColor.exe
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.1Qt简介.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.1Qt简介.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.2-1.4Qt相关开发工具安装使用.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.2-1.4Qt相关开发工具安装使用.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.5学习路线.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第一章 Qt简介、相关工具安装及使用/00ppt/1.5学习路线.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/QtCreator/demo01/demo01.pro:
--------------------------------------------------------------------------------
1 | QT += core gui
2 |
3 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
4 |
5 | CONFIG += c++11
6 |
7 | # The following define makes your compiler emit warnings if you use
8 | # any Qt feature that has been marked deprecated (the exact warnings
9 | # depend on your compiler). Please consult the documentation of the
10 | # deprecated API in order to know how to port your code away from it.
11 | DEFINES += QT_DEPRECATED_WARNINGS
12 |
13 | # You can also make your code fail to compile if it uses deprecated APIs.
14 | # In order to do so, uncomment the following line.
15 | # You can also select to disable deprecated APIs only up to a certain version of Qt.
16 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
17 |
18 | SOURCES += \
19 | main.cpp
20 |
21 | HEADERS +=
22 |
23 | FORMS +=
24 |
25 | # Default rules for deployment.
26 | qnx: target.path = /tmp/$${TARGET}/bin
27 | else: unix:!android: target.path = /opt/$${TARGET}/bin
28 | !isEmpty(target.path): INSTALLS += target
29 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/QtCreator/demo01/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | QApplication a(argc, argv);
8 |
9 | QMainWindow* mw = new QMainWindow;
10 | mw->setWindowTitle("我不是Qt");
11 | mw->show();
12 |
13 | return a.exec();
14 | }
15 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/demo.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 |
3 | Demo::Demo(QWidget *parent)
4 | : QMainWindow(parent)
5 | {
6 | ui.setupUi(this);
7 | }
8 |
9 | Demo::~Demo()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/demo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_demo.h"
5 |
6 | class Demo : public QMainWindow
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | Demo(QWidget *parent = nullptr);
12 | ~Demo();
13 |
14 | private:
15 | Ui::DemoClass ui;
16 | };
17 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/demo.ui:
--------------------------------------------------------------------------------
1 |
2 | DemoClass
3 |
4 |
5 | DemoClass
6 |
7 |
8 |
9 | 0
10 | 0
11 | 600
12 | 400
13 |
14 |
15 |
16 | Demo
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/demo01.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-09-20T12:08:33.8310525Z
6 |
7 |
8 | 2022-09-20T12:08:33.9317822Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/demo01/main.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/01c++/VisualStudio/qt_demo/qt_demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.2092
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo01", "demo01\demo01.vcxproj", "{6D95A615-FF4D-4600-BFB7-115BB6C6C594}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {6D95A615-FF4D-4600-BFB7-115BB6C6C594}.Debug|x64.ActiveCfg = Debug|x64
15 | {6D95A615-FF4D-4600-BFB7-115BB6C6C594}.Debug|x64.Build.0 = Debug|x64
16 | {6D95A615-FF4D-4600-BFB7-115BB6C6C594}.Release|x64.ActiveCfg = Release|x64
17 | {6D95A615-FF4D-4600-BFB7-115BB6C6C594}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {C44AE6DD-0996-4D10-B631-EF72D9AAFE68}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第一章 Qt简介、相关工具安装及使用/02python/demo01/main.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtWidgets import QApplication,QMainWindow
2 | import sys
3 |
4 |
5 | if __name__ == '__main__':
6 |
7 | app = QApplication(sys.argv)
8 |
9 | mw = QMainWindow()
10 | mw.setWindowTitle("我不是Qt")
11 | mw.show()
12 |
13 | app.exec()
14 |
15 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.1 Widgets体系概述、Qt命名空间、编程规范.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.1 Widgets体系概述、Qt命名空间、编程规范.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.2 QObject之事件系统、信号和槽、对象树、计时功能.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.2 QObject之事件系统、信号和槽、对象树、计时功能.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.3 Application相关.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.3 Application相关.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.4 QWidget-所有可视化控件的基石.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.4 QWidget-所有可视化控件的基石.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.5 QSS-控件也爱美.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.5 QSS-控件也爱美.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.6 主窗口—QMainWindow相关.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.6 主窗口—QMainWindow相关.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.7 用户交互与信息展示.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.7 用户交互与信息展示.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/00ppt/2.9拖拽相关1.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/00ppt/2.9拖拽相关1.pptx
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_1/qt_GSGU_2_1.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.1585
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qtnamespace", "qtnamespace\qtnamespace.vcxproj", "{55D10876-FDFA-4E62-BF08-B4454270509F}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {55D10876-FDFA-4E62-BF08-B4454270509F}.Debug|x64.ActiveCfg = Debug|x64
15 | {55D10876-FDFA-4E62-BF08-B4454270509F}.Debug|x64.Build.0 = Debug|x64
16 | {55D10876-FDFA-4E62-BF08-B4454270509F}.Release|x64.ActiveCfg = Release|x64
17 | {55D10876-FDFA-4E62-BF08-B4454270509F}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {D8EC4130-B212-492A-8FD6-1300AEBFE5ED}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_1/qtnamespace/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | void printCurDate(Qt::DateFormat format)
5 | {
6 | qDebug() << "--------------> " << QDate::currentDate().toString(format);
7 | }
8 |
9 |
10 | int main(int argc, char *argv[])
11 | {
12 | printCurDate(Qt::ISODate);
13 | printCurDate(Qt::LocalDate);
14 | printCurDate(Qt::TextDate);
15 | }
16 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_1/qtnamespace/qtnamespace.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-09-25T14:20:46.4241906Z
6 |
7 |
8 | 2022-09-25T14:20:46.6745103Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_GSGU_2_2.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.2092
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qt_event", "qt_event\qt_event.vcxproj", "{4531940C-978C-421F-B5AF-11B168389651}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {4531940C-978C-421F-B5AF-11B168389651}.Debug|x64.ActiveCfg = Debug|x64
15 | {4531940C-978C-421F-B5AF-11B168389651}.Debug|x64.Build.0 = Debug|x64
16 | {4531940C-978C-421F-B5AF-11B168389651}.Release|x64.ActiveCfg = Release|x64
17 | {4531940C-978C-421F-B5AF-11B168389651}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {562FFE14-9859-4BE1-BA48-28849FFDD1DF}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/main.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mybutton.cpp:
--------------------------------------------------------------------------------
1 | #include "mybutton.h"
2 |
3 | #include
4 |
5 | MyButton::MyButton(QWidget *parent/*=nullptr*/)
6 | :QPushButton(parent)
7 | {
8 | }
9 |
10 | MyButton::~MyButton()
11 | {
12 | qDebug() << "---------> " << text() << " pointer addr " << this;
13 | }
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mybutton.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class MyButton : public QPushButton
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | MyButton(QWidget *parent=nullptr);
11 | ~MyButton();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard.cpp:
--------------------------------------------------------------------------------
1 | #include "mydrawboard.h"
2 |
3 | #include
4 | #include
5 |
6 | MyDrawboard::MyDrawboard(QWidget *parent)
7 | : QWidget(parent)
8 | {
9 | setFixedSize(400, 400);
10 | }
11 |
12 | void MyDrawboard::mouseMoveEvent(QMouseEvent *event)
13 | {
14 | if (event->x() < 0 || event->y() < 0 || event->x() > 400 || event->y() > 400)
15 | return;
16 |
17 | m_vPoint.push_back(QPoint(event->x(), event->y()));
18 |
19 | update();
20 | }
21 |
22 | void MyDrawboard::mousePressEvent(QMouseEvent *event)
23 | {
24 | if (event->x() < 0 || event->y() < 0 || event->x() > 400 || event->y() > 400)
25 | return;
26 |
27 | m_vPoint.push_back(QPoint(event->x(),event->y()));
28 | }
29 |
30 | void MyDrawboard::paintEvent(QPaintEvent *event)
31 | {
32 | QPainter painter(this);
33 |
34 | QPen pen;
35 | pen.setWidth(10);
36 | pen.setColor(Qt::red);
37 |
38 | painter.setPen(pen);
39 |
40 | painter.drawPoints(QPolygon(m_vPoint));
41 | }
42 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class MyDrawboard : public QWidget
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | MyDrawboard(QWidget *parent = nullptr);
12 |
13 | protected:
14 | void mouseMoveEvent(QMouseEvent *event) override;
15 | void mousePressEvent(QMouseEvent *event) override;
16 | void paintEvent(QPaintEvent *event) override;
17 |
18 | private:
19 | QVector m_vPoint;
20 | };
21 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard2.cpp:
--------------------------------------------------------------------------------
1 | #include "mydrawboard2.h"
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | MyDrawboard2::MyDrawboard2(QWidget *parent)
8 | : QWidget(parent)
9 | {
10 | setFixedSize(400, 400);
11 | }
12 |
13 | void MyDrawboard2::mouseMoveEvent(QMouseEvent *event)
14 | {
15 | if (event->x() < 0 || event->y() < 0 || event->x() > 400 || event->y() > 400)
16 | return;
17 |
18 | m_vPoint.push_back(QPoint(event->x(), event->y()));
19 |
20 | update();
21 | }
22 |
23 | void MyDrawboard2::mousePressEvent(QMouseEvent *event)
24 | {
25 | if (event->x() < 0 || event->y() < 0 || event->x() > 400 || event->y() > 400)
26 | return;
27 |
28 | qDebug() << "--------------> mouse press event";
29 |
30 | m_vPoint.push_back(QPoint(event->x(),event->y()));
31 | }
32 |
33 | void MyDrawboard2::paintEvent(QPaintEvent *event)
34 | {
35 | QPainter painter(this);
36 |
37 | QPen pen;
38 | pen.setWidth(10);
39 | pen.setColor(Qt::red);
40 |
41 | painter.setPen(pen);
42 |
43 | painter.drawPoints(QPolygon(m_vPoint));
44 | }
45 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard2.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class MyDrawboard2 : public QWidget
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | MyDrawboard2(QWidget *parent = nullptr);
12 |
13 | protected:
14 | void mouseMoveEvent(QMouseEvent *event) override;
15 | void mousePressEvent(QMouseEvent *event) override;
16 | void paintEvent(QPaintEvent *event) override;
17 |
18 | private:
19 | QVector m_vPoint;
20 | };
21 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard3.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard3.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/mydrawboard3.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class MyDrawboard3 : public QWidget
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | MyDrawboard3(QWidget *parent = nullptr);
12 |
13 | protected:
14 | void mouseMoveEvent(QMouseEvent *event) override;
15 | void mousePressEvent(QMouseEvent *event) override;
16 | void paintEvent(QPaintEvent *event) override;
17 |
18 | private slots:
19 | void slot_clearBoard();
20 |
21 | private:
22 | QVector m_vPoint;
23 | };
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_2/qt_event/qt_event.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-01T14:34:52.5433100Z
6 |
7 |
8 | 2022-10-01T14:34:52.7008896Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_00_crazy_http_client/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QCoreApplication a(argc, argv);
9 |
10 |
11 | QTcpSocket client;
12 |
13 | while (1)
14 | {
15 | client.connectToHost("www.baidu.com", 80);
16 |
17 | client.waitForConnected(); ///< 阻塞等待
18 |
19 | /**发出请求*/
20 | QString requestLine = "GET / HTTP/1.1\r\n";
21 | QString requestHeader = "Host:www.baidu.com\r\n";
22 | QString requestBlank = "\r\n";
23 | QString requestBody = "\r\n";
24 | QString requestData = requestLine + requestHeader + requestBlank + requestBody;
25 | client.write(requestData.toUtf8());
26 |
27 | client.waitForReadyRead(); ///< 阻塞等待
28 | qDebug() << client.readAll();
29 |
30 | QThread::sleep(1);
31 | }
32 |
33 | return a.exec();
34 | }
35 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_01_simple_http_server/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include "webserver.h"
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | QCoreApplication a(argc, argv);
8 |
9 | WebServer server;
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_01_simple_http_server/webserver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | class WebServer : public QObject
8 | {
9 | Q_OBJECT
10 |
11 | public:
12 | WebServer(QObject *parent=nullptr);
13 | ~WebServer();
14 |
15 | private slots:
16 | void slot_newConn();
17 | void slot_readyRead();
18 |
19 | private:
20 | QTcpServer * m_pServer;
21 | QTcpSocket * m_pSocket;
22 |
23 |
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/1.png
4 | images/2.png
5 | images/3.png
6 | images/4.png
7 | images/5.png
8 |
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/1.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/2.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/3.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/4.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/images/5.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_02_magic_object/main.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 | #include
3 | #include
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | QApplication a(argc, argv);
8 |
9 | Demo w;
10 |
11 | /**center window*/
12 | const QRect availableGeometry = QApplication::desktop()->availableGeometry(&w);
13 | w.resize(availableGeometry.width() / 2, availableGeometry.height() * 2 / 3);
14 | w.move((availableGeometry.width() - w.width()) / 2,
15 | (availableGeometry.height() - w.height()) / 2);
16 |
17 | w.show();
18 | return a.exec();
19 | }
20 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/demo.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/demo.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/editcopy.png
4 | images/editcut.png
5 | images/editpaste.png
6 | images/editredo.png
7 | images/editundo.png
8 | images/exportpdf.png
9 | images/filenew.png
10 | images/fileopen.png
11 | images/fileprint.png
12 | images/filesave.png
13 | images/textbold.png
14 | images/textcenter.png
15 | images/textitalic.png
16 | images/textjustify.png
17 | images/textleft.png
18 | images/textright.png
19 | images/textunder.png
20 | images/zoomin.png
21 | images/zoomout.png
22 |
23 |
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editcopy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editcopy.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editcut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editcut.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editpaste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editpaste.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editredo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editredo.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editundo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/editundo.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/exportpdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/exportpdf.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/filenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/filenew.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/fileopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/fileopen.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/fileprint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/fileprint.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/filesave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/filesave.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textbold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textbold.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textcenter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textcenter.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textitalic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textitalic.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textjustify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textjustify.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textleft.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textright.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textunder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/textunder.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/zoomin.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_3/qt_03_argparser_settings/images/zoomout.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_00_qwidget_pos_size/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | QWidget w;
9 | w.move(300, 300);
10 | w.resize(500, 500);
11 | w.show();
12 |
13 | return a.exec();
14 | }
15 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_00_qwidget_pos_size/qt_00_qwidget_pos_size.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-22T13:03:11.5643163Z
6 |
7 |
8 | 2022-10-22T13:03:11.6883165Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_01_certain_count_child_widget/main.cpp:
--------------------------------------------------------------------------------
1 | #pragma execution_character_set("utf-8")
2 | #include
3 | #include
4 |
5 | class Demo :public QWidget
6 | {
7 | public:
8 | Demo(int totalCnt, int colCnt,QWidget* parent=nullptr)
9 | :QWidget(parent), m_nTotalCnt(totalCnt),m_nColCnt(colCnt)
10 | {
11 | if (totalCnt <= 0 || colCnt <= 0)
12 | totalCnt = colCnt = 1;
13 |
14 | setWindowTitle("我不是Qt");
15 | move(300, 300);
16 | resize(500, 500);
17 |
18 | setupUi();
19 | }
20 |
21 | private:
22 | void setupUi()
23 | {
24 | int rowCnt = m_nTotalCnt / m_nColCnt;
25 | int itemW = width() / m_nColCnt;
26 | int itemH = height() / rowCnt;
27 | for (int r = 0; r < rowCnt; r++)
28 | {
29 | for (int c = 0; c < m_nColCnt; c++)
30 | {
31 | if((r+1)*m_nColCnt + (c+1) > m_nTotalCnt)
32 | break;
33 | QWidget* childItem = new QWidget(this);
34 | childItem->move(c*itemW, r*itemH);
35 | childItem->resize(itemW, itemH);
36 | childItem->setStyleSheet("background-color:red;border:1px solid yellow;");
37 | }
38 | }
39 | }
40 |
41 | int m_nTotalCnt; ///< 总数
42 | int m_nColCnt; ///< 列数
43 | };
44 |
45 | int main(int argc, char *argv[])
46 | {
47 | QApplication a(argc, argv);
48 |
49 | Demo demo(50, 3);
50 | demo.show();
51 |
52 | return a.exec();
53 | }
54 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_01_certain_count_child_widget/qt_01_certain_count_child_widget.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-22T13:06:47.1668389Z
6 |
7 |
8 | 2022-10-22T13:06:47.2638410Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_02_min_max_size/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | QWidget w;
9 |
10 | w.setMinimumSize(300, 300);
11 | w.setMaximumSize(500, 500);
12 | //w.resize(600, 600); ///< not work
13 |
14 | w.show();
15 |
16 | return a.exec();
17 | }
18 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_02_min_max_size/qt_02_min_max_size.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T02:04:11.3910708Z
6 |
7 |
8 | 2022-10-23T02:04:11.5580664Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_03_event_handle/Resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/back.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_03_event_handle/images/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_03_event_handle/images/back.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_03_event_handle/qt_03_event_handle.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T02:10:42.8744303Z
6 |
7 |
8 | 2022-10-23T02:10:43.0914294Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_04_mouse_cursor/Resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/my_cursor.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_04_mouse_cursor/images/my_cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_04_mouse_cursor/images/my_cursor.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_04_mouse_cursor/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | QWidget w;
9 | //w.setCursor(Qt::ClosedHandCursor);
10 | w.setCursor(QCursor(QPixmap(":/images/my_cursor.png").scaledToWidth(50),0,0));
11 | w.show();
12 |
13 | return a.exec();
14 | }
15 |
16 |
17 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_04_mouse_cursor/qt_04_mouse_cursor.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T06:03:36.8901059Z
6 |
7 |
8 | 2022-10-23T06:03:36.9581063Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_05_parent_child_relation/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 |
10 | QWidget w;
11 | w.resize(500, 500);
12 | QLabel lb1("label1",&w);
13 | qDebug() << w.childAt(0, 0); // QLabel(0x572beff548)
14 | qDebug() << w.childAt(100, 0); // QWidget(0x0)
15 |
16 | qDebug() << lb1.parentWidget();
17 | qDebug() << lb1.parent();
18 |
19 | QLabel lb2("label2", &w);
20 | lb2.move(10, 80);
21 | qDebug() << w.childrenRect();
22 |
23 | w.show();
24 |
25 | return a.exec();
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_05_parent_child_relation/qt_05_parent_child_relation.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T06:26:29.9829475Z
6 |
7 |
8 | 2022-10-23T06:26:30.0789501Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_06_z_order/qt_06_z_order.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T06:45:10.6375824Z
6 |
7 |
8 | 2022-10-23T06:45:10.7155846Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/Resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/close.png
4 | images/max.png
5 | images/min.png
6 |
7 |
8 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/close.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/max.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/max.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/images/min.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_07_top_window/qt_07_top_window.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T07:20:04.6668303Z
6 |
7 |
8 | 2022-10-23T07:20:04.7318320Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_08_window_interact_state/main.cpp:
--------------------------------------------------------------------------------
1 | #pragma execution_character_set("utf-8")
2 | #include
3 | #include
4 |
5 | int main1(int argc, char *argv[])
6 | {
7 | QApplication a(argc, argv);
8 |
9 | QWidget w;
10 | //w.setWindowModified(true);
11 | w.setWindowTitle("我不是Qt[*]");
12 | w.show();
13 |
14 | return a.exec();
15 | }
16 |
17 | int main(int argc, char *argv[])
18 | {
19 | QApplication a(argc, argv);
20 |
21 | QWidget w;
22 | QWidget w2;
23 | w2.show();
24 | w.show();
25 |
26 | w2.raise();
27 | qDebug() << w.isActiveWindow(); // true
28 | qDebug() << w2.isActiveWindow(); // false
29 |
30 | return a.exec();
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_08_window_interact_state/qt_08_window_interact_state.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T08:35:09.4267714Z
6 |
7 |
8 | 2022-10-23T08:35:09.5627720Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_09_info_show/main.cpp:
--------------------------------------------------------------------------------
1 | #pragma execution_character_set("utf-8")
2 | #include
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 | QMainWindow w;
10 | w.setStatusBar(new QStatusBar(&w));
11 |
12 | w.setStatusTip("显示在状态栏");
13 | w.setToolTip("工具提示,简单有力");
14 | w.setWhatsThis("这是啥提示,它通常比toolTip更长更详细,默认shift+f1触发");
15 | w.show();
16 |
17 | return a.exec();
18 | }
19 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_09_info_show/qt_09_info_show.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T08:53:56.1058835Z
6 |
7 |
8 | 2022-10-23T08:53:56.1708832Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_10_focus_control/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 |
10 | QWidget w;
11 |
12 | QLineEdit * le1 = new QLineEdit(&w);
13 | QLineEdit * le2 = new QLineEdit(&w);
14 | QLineEdit * le3 = new QLineEdit(&w);
15 |
16 | le1->move(50, 50);
17 | le2->move(100, 100);
18 | le3->move(150, 150);
19 |
20 | w.setTabOrder(le1, le3);
21 | w.setTabOrder(le3, le2);
22 |
23 | w.show();
24 |
25 | return a.exec();
26 | }
27 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_10_focus_control/qt_10_focus_control.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-23T09:13:39.0178998Z
6 |
7 |
8 | 2022-10-23T09:13:39.0898990Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_11_qwidget_signal_slot/main.cpp:
--------------------------------------------------------------------------------
1 | #pragma execution_character_set("utf-8")
2 | #include
3 | #include
4 | #include
5 | #include
6 |
7 | class MyWidget1 :public QWidget
8 | {
9 | public:
10 | MyWidget1(QWidget* parent = nullptr)
11 | :QWidget(parent)
12 | {
13 | setWindowTitle("QWidget右键信号");
14 | resize(400, 400);
15 |
16 | setContextMenuPolicy(Qt::CustomContextMenu); // 使用customContextMenuRequested 信号,必须要设置这个policy
17 | connect(this, &MyWidget1::customContextMenuRequested, this, &MyWidget1::slot_customContextMenuRequested);
18 | }
19 |
20 | private slots :
21 | void slot_customContextMenuRequested(const QPoint &pos)
22 | {
23 | qDebug() << "right mouse press." << pos << " " << mapToGlobal(pos);
24 | }
25 | };
26 |
27 |
28 |
29 | int main(int argc, char *argv[])
30 | {
31 | QApplication a(argc, argv);
32 |
33 | MyWidget1 w;
34 |
35 | w.show();
36 |
37 | return a.exec();
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_11_qwidget_signal_slot/qt_11_qwidget_signal_slot.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-25T09:11:26.0283306Z
6 |
7 |
8 | 2022-10-25T09:11:26.1163327Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_12_coord_convert/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | class ChildWidget :public QWidget
7 | {
8 | public:
9 | ChildWidget(QWidget*parent = nullptr)
10 | :QWidget(parent)
11 | {
12 | setStyleSheet("background-color:green;");
13 | }
14 | protected:
15 | void mousePressEvent(QMouseEvent *event) override
16 | {
17 | qDebug() << "self pos is " << event->pos();
18 | qDebug() << "parent pos is " << mapToParent(event->pos());
19 | qDebug() << "global pos is " << mapToGlobal(event->pos());
20 | }
21 | };
22 |
23 | int main(int argc, char *argv[])
24 | {
25 | QApplication a(argc, argv);
26 |
27 | QWidget w;
28 | ChildWidget child(&w);
29 |
30 | w.resize(500, 500);
31 | child.resize(100, 100);
32 | child.move(200, 200);
33 |
34 | w.show();
35 |
36 | return a.exec();
37 | }
38 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_4/qt_12_coord_convert/qt_12_coord_convert.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-10-26T12:06:34.0885512Z
6 |
7 |
8 | 2022-10-26T12:06:34.1845541Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/binpicking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/binpicking.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/close.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/deptz_mix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/deptz_mix.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/deptz_single.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/deptz_single.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/open.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/ptz_mix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/ptz_mix.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/ptz_single.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/ptz_single.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/special_template.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/images/special_template.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/main.cpp:
--------------------------------------------------------------------------------
1 | #include "vs2017_solution.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | VS2017SolutionMng mngDialog;
9 | mngDialog.show();
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/qt_00_qss_demo.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-11-18T01:54:48.3717921Z
6 |
7 |
8 | 2022-11-18T01:54:23.0537494Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/vs2017_solution.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_vs2017_solution.h"
5 |
6 | #include
7 |
8 | enum CustomRole
9 | {
10 | TYPE = Qt::UserRole+1, // 类别角色
11 | DESC, // 描述角色
12 | };
13 |
14 | enum RobotScene
15 | {
16 | DEPTZ = 10, // 拆垛
17 | PTZ, // 码垛
18 | PICK, // 工业拣选
19 | CUSTOM // 自定义
20 | };
21 |
22 | class VS2017SolutionMng : public QDialog
23 | {
24 | Q_OBJECT
25 |
26 | public:
27 | VS2017SolutionMng(QWidget *parent = nullptr);
28 | ~VS2017SolutionMng();
29 |
30 | private slots:
31 | void slot_treeItemPressed(const QModelIndex &index);
32 | void slot_listItemPressed(const QModelIndex &index);
33 |
34 | private:
35 | void initModel();
36 |
37 | void setupTreeView();
38 | void setupListView();
39 | void setupActions();
40 | void updateDescInfo(QString type,QString detail);
41 |
42 | Ui::VS2017SolutionMngClass ui;
43 |
44 | QStandardItemModel* m_pTreeItemModel;
45 | QStandardItemModel* m_pListItemModel; // 全部的list
46 | QStandardItemModel* m_pListShowModel; // 当前展示的list
47 |
48 | QModelIndex m_tCurTreeIndex; // 当前选中的tree item
49 | };
50 |
51 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_00_qss_demo/vs2017_solution.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | vs2017_solution.qss
4 | images/binpicking.png
5 | images/close.png
6 | images/deptz_mix.png
7 | images/deptz_single.png
8 | images/open.png
9 | images/ptz_mix.png
10 | images/ptz_single.png
11 | images/special_template.png
12 |
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_5/qt_GSGU_2_5.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.2092
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qt_00_qss_demo", "qt_00_qss_demo\qt_00_qss_demo.vcxproj", "{62F09760-13AB-4CB1-99DB-8EDE0D20DC7B}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x64 = Debug|x64
11 | Release|x64 = Release|x64
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {62F09760-13AB-4CB1-99DB-8EDE0D20DC7B}.Debug|x64.ActiveCfg = Debug|x64
15 | {62F09760-13AB-4CB1-99DB-8EDE0D20DC7B}.Debug|x64.Build.0 = Debug|x64
16 | {62F09760-13AB-4CB1-99DB-8EDE0D20DC7B}.Release|x64.ActiveCfg = Release|x64
17 | {62F09760-13AB-4CB1-99DB-8EDE0D20DC7B}.Release|x64.Build.0 = Release|x64
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {1A34391E-547D-495B-8509-47C490F65168}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/main.cpp:
--------------------------------------------------------------------------------
1 | #include "window/mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | MainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/audiopanel/audiopanel.cpp:
--------------------------------------------------------------------------------
1 | #include "audiopanel/audiopanel.h"
2 |
3 | AudioPanel::AudioPanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Audio Manager");
7 | }
8 |
9 | AudioPanel::~AudioPanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/audiopanel/audiopanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class AudioPanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | AudioPanel(QWidget *parent=nullptr);
11 | ~AudioPanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/footagepanel/footagepanel.cpp:
--------------------------------------------------------------------------------
1 | #include "footagepanel/footagepanel.h"
2 |
3 | FootagePanel::FootagePanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Footage Viewer");
7 | }
8 |
9 | FootagePanel::~FootagePanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/footagepanel/footagepanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class FootagePanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | FootagePanel(QWidget *parent=nullptr);
11 | ~FootagePanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/nodepanel/nodepanel.cpp:
--------------------------------------------------------------------------------
1 | #include "nodepanel/nodepanel.h"
2 |
3 | #include
4 |
5 | NodePanel::NodePanel(QWidget *parent/*=nullptr*/)
6 | :PanelWidget(parent)
7 | {
8 | setWindowTitle("Node Editor");
9 | }
10 |
11 | NodePanel::~NodePanel()
12 | {
13 | }
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/nodepanel/nodepanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class NodePanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | NodePanel(QWidget *parent=nullptr);
11 | ~NodePanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/panelmanager.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | class PanelWidget;
5 |
6 | class PanelManager : public QObject
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | static PanelManager* instance();
12 |
13 | void registerPanel(PanelWidget* panel);
14 | void unRegisterPanel(PanelWidget* panel);
15 |
16 | public slots:
17 | void slot_focusChanged(QWidget *old, QWidget *now);
18 |
19 | private:
20 | PanelManager(QWidget *parent = nullptr);
21 | static PanelManager* m_pInstance;
22 |
23 | QList m_listFocusHistory;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/panelwidget.cpp:
--------------------------------------------------------------------------------
1 | #include "panelmanager.h"
2 | #include "panelwidget.h"
3 | #include
4 |
5 | PanelWidget::PanelWidget(QWidget *parent)
6 | : QDockWidget(parent),m_bBorderVisible(false)
7 | {
8 | setFocusPolicy(Qt::ClickFocus);
9 |
10 | PanelManager::instance()->registerPanel(this);
11 | }
12 |
13 | PanelWidget::~PanelWidget()
14 | {
15 | PanelManager::instance()->unRegisterPanel(this);
16 | }
17 |
18 | void PanelWidget::setBorderVisible(bool visible)
19 | {
20 | if (m_bBorderVisible == visible)
21 | return;
22 |
23 | m_bBorderVisible = visible;
24 |
25 | update();
26 | }
27 |
28 | void PanelWidget::paintEvent(QPaintEvent *event)
29 | {
30 | QDockWidget::paintEvent(event);
31 |
32 | // Draw a highlight border
33 | if (m_bBorderVisible)
34 | {
35 | QPainter p(this);
36 |
37 | QRect highlightBorder = rect();
38 | highlightBorder.adjust(0, 0, -1, -1);
39 |
40 | p.setPen(palette().highlight().color());
41 | p.drawRect(highlightBorder);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/panelwidget.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class PanelWidget : public QDockWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | PanelWidget(QWidget *parent=nullptr);
11 | ~PanelWidget();
12 |
13 | void setBorderVisible(bool visible);
14 |
15 | protected:
16 | void paintEvent(QPaintEvent *event) override;
17 |
18 | private:
19 | bool m_bBorderVisible;
20 | };
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/parampanel/parampanel.cpp:
--------------------------------------------------------------------------------
1 | #include "parampanel/parampanel.h"
2 |
3 | ParamPanel::ParamPanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Parameter Editor");
7 | }
8 |
9 | ParamPanel::~ParamPanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/parampanel/parampanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class ParamPanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | ParamPanel(QWidget *parent=nullptr);
11 | ~ParamPanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/projectpanel/projectpanel.cpp:
--------------------------------------------------------------------------------
1 | #include "projectpanel/projectpanel.h"
2 |
3 | ProjectPanel::ProjectPanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Project");
7 | }
8 |
9 | ProjectPanel::~ProjectPanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/projectpanel/projectpanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class ProjectPanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | ProjectPanel(QWidget *parent=nullptr);
11 | ~ProjectPanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/sequencepanel/sequencepanel.cpp:
--------------------------------------------------------------------------------
1 | #include "sequencepanel/sequencepanel.h"
2 |
3 | SequencePanel::SequencePanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Sequence Viewer");
7 | }
8 |
9 | SequencePanel::~SequencePanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/sequencepanel/sequencepanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class SequencePanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | SequencePanel(QWidget *parent=nullptr);
11 | ~SequencePanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/timelinepanel/timelinepanel.cpp:
--------------------------------------------------------------------------------
1 | #include "timelinepanel/timelinepanel.h"
2 |
3 | TimelinePanel::TimelinePanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Timeline");
7 | }
8 |
9 | TimelinePanel::~TimelinePanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/timelinepanel/timelinepanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class TimelinePanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | TimelinePanel(QWidget *parent=nullptr);
11 | ~TimelinePanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/toolpanel/toolpanel.cpp:
--------------------------------------------------------------------------------
1 | #include "toolpanel/toolpanel.h"
2 |
3 | ToolPanel::ToolPanel(QWidget *parent/*=nullptr*/)
4 | :PanelWidget(parent)
5 | {
6 | setWindowTitle("Tools");
7 | }
8 |
9 | ToolPanel::~ToolPanel()
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/panel/toolpanel/toolpanel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "panelwidget.h"
4 |
5 | class ToolPanel : public PanelWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | ToolPanel(QWidget *parent=nullptr);
11 | ~ToolPanel();
12 | };
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/qt_01_olive.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-29T08:36:20.1664311Z
6 |
7 |
8 | 2022-12-29T08:36:20.3178831Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_01_olive/window/mainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class PanelWidget;
6 |
7 | class FootagePanel;
8 | class ParamPanel;
9 | class NodePanel;
10 |
11 | class SequencePanel;
12 | class ProjectPanel;
13 | class ToolPanel;
14 | class TimelinePanel;
15 | class AudioPanel;
16 |
17 | class MainWindow : public QMainWindow
18 | {
19 | Q_OBJECT
20 |
21 | public:
22 | MainWindow(QWidget *parent=nullptr);
23 | ~MainWindow();
24 |
25 | private:
26 | void setAppStyle();
27 | void createStandardPanels();
28 | void setDefaultLayout();
29 |
30 | // Standard panels
31 | FootagePanel* m_pFootagePanel;
32 | ParamPanel* m_pParamPanel;
33 | NodePanel* m_pNodePanel;
34 |
35 | SequencePanel* m_pSeqPanel;
36 | ProjectPanel* m_pProjectPanel;
37 | ToolPanel* m_pToolPanel;
38 | TimelinePanel* m_pTimelinePanel;
39 | AudioPanel* m_pAudioPanel;
40 | };
41 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/demo.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/demo.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | example.html
4 | images/editcopy.png
5 | images/editcut.png
6 | images/editpaste.png
7 | images/editredo.png
8 | images/editundo.png
9 | images/exportpdf.png
10 | images/filenew.png
11 | images/fileopen.png
12 | images/fileprint.png
13 | images/filesave.png
14 | images/textbold.png
15 | images/textcenter.png
16 | images/textitalic.png
17 | images/textjustify.png
18 | images/textleft.png
19 | images/textright.png
20 | images/textunder.png
21 | images/zoomin.png
22 | images/zoomout.png
23 |
24 |
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editcopy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editcopy.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editcut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editcut.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editpaste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editpaste.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editredo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editredo.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editundo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/editundo.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/exportpdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/exportpdf.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/filenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/filenew.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/fileopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/fileopen.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/fileprint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/fileprint.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/filesave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/filesave.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textbold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textbold.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textcenter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textcenter.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textitalic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textitalic.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textjustify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textjustify.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textleft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textleft.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textright.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textunder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/textunder.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/zoomin.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/images/zoomout.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/main.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 | #include
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | int main(int argc, char *argv[])
9 | {
10 | QApplication app(argc, argv);
11 | QCoreApplication::setOrganizationName("ZCB");
12 | QCoreApplication::setApplicationName("Rich Text");
13 | QCoreApplication::setApplicationVersion("0.0.1");
14 |
15 | /**1. arg parser*/
16 | QCommandLineParser parser;
17 | parser.setApplicationDescription("Usage: prog.exe [option]");
18 | parser.addHelpOption();
19 | parser.addVersionOption();
20 | parser.addPositionalArgument("file", "The file to open.");
21 | parser.process(app);
22 |
23 | Demo w;
24 | /**2. center mainwindow*/
25 | const QRect availableGeometry = QApplication::desktop()->availableGeometry(&w);
26 | w.resize(availableGeometry.width() / 2, (availableGeometry.height() * 2) / 3);
27 | w.move((availableGeometry.width() - w.width()) / 2, (availableGeometry.height() - w.height()) / 2);
28 |
29 | if (!w.load(parser.positionalArguments().value(0, ":/example.html")))
30 | w.newFile();
31 |
32 | w.show();
33 |
34 | return app.exec();
35 | }
36 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_02_texteditor/qt_02_texteditor.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-31T06:18:34.4669626Z
6 |
7 |
8 | 2022-12-31T06:18:34.6819627Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/configdialog.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class QListWidget;
6 | class QListWidgetItem;
7 | class QStackedWidget;
8 |
9 | class ConfigDialog : public QDialog
10 | {
11 | Q_OBJECT
12 |
13 | public:
14 | ConfigDialog();
15 |
16 | public slots:
17 | void changePage(QListWidgetItem *current, QListWidgetItem *previous);
18 |
19 | private:
20 | void createIcons();
21 |
22 | QListWidget *contentsWidget;
23 | QStackedWidget *pagesWidget;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/configdialog.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/config.png
4 | images/query.png
5 | images/update.png
6 |
7 |
8 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/config.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/query.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/images/update.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/main.cpp:
--------------------------------------------------------------------------------
1 | #include "configdialog.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | ConfigDialog configDialog;
9 | configDialog.show();
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/pages.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class ConfigurationPage : public QWidget
6 | {
7 | public:
8 | ConfigurationPage(QWidget *parent = 0);
9 | };
10 |
11 | class QueryPage : public QWidget
12 | {
13 | public:
14 | QueryPage(QWidget *parent = 0);
15 | };
16 |
17 | class UpdatePage : public QWidget
18 | {
19 | public:
20 | UpdatePage(QWidget *parent = 0);
21 | };
22 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_03_configdialog/qt_03_configdialog.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-30T06:29:46.5274533Z
6 |
7 |
8 | 2022-12-30T06:29:46.8954505Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/add.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/book.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/dance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/dance.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/drink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/drink.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/grid.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/sub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/images/sub.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | MainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/main.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/dance.png
4 | images/book.png
5 | images/drink.png
6 | images/grid.png
7 | images/add.png
8 | images/sub.png
9 |
10 |
11 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/mainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class MainWindow : public QMainWindow
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | MainWindow(QWidget *parent = nullptr);
11 | ~MainWindow();
12 |
13 | private:
14 | void initStatusBar();
15 | void initQss();
16 | };
17 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_04_ppt_statusbar/qt_04_ppt_statusbar.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-30T06:53:58.6634772Z
6 |
7 |
8 | 2022-12-30T06:53:58.7354786Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/demo.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 |
3 | Demo::Demo(QWidget *parent)
4 | : QMainWindow(parent)
5 | {
6 | ui.setupUi(this);
7 | }
8 |
9 | Demo::~Demo()
10 | {}
11 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/demo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_demo.h"
5 |
6 | class Demo : public QMainWindow
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | Demo(QWidget *parent = nullptr);
12 | ~Demo();
13 |
14 | private:
15 | Ui::DemoClass ui;
16 | };
17 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/orange_splash_screen.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/demo.ui:
--------------------------------------------------------------------------------
1 |
2 | DemoClass
3 |
4 |
5 | DemoClass
6 |
7 |
8 |
9 | 0
10 | 0
11 | 600
12 | 400
13 |
14 |
15 |
16 | Demo
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/images/orange_splash_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/images/orange_splash_screen.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/main.cpp:
--------------------------------------------------------------------------------
1 | #include "splashscreen.h"
2 | #include "demo.h"
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 |
10 | SplashScreen::testThis(); // 测试SplashScreen
11 |
12 | Demo d;
13 | d.show();
14 |
15 | return a.exec();
16 | }
17 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/qt_05_orange_splashscreen.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-30T06:49:23.1639978Z
6 |
7 |
8 | 2022-12-30T06:49:23.2304981Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_05_orange_splashscreen/splashscreen.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class SplashScreen : public QSplashScreen
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | SplashScreen(
11 | QPixmap pixmap = QPixmap(),
12 | QWidget *parent = nullptr);
13 | ~SplashScreen();
14 |
15 | static void testThis();
16 |
17 | // 0-100
18 | void setProgress(double percent,int barHeight=10.0);
19 |
20 | public slots:
21 | void showMessage(const QString &message, int alignment = Qt::AlignLeft, const QColor &color = Qt::black);
22 |
23 | protected:
24 | void drawContents(QPainter *painter) override;
25 |
26 | private:
27 | QRect m_tRect;
28 |
29 | QString m_strMsg;
30 | QColor m_tTextColor;
31 | int m_nTextAlign;
32 |
33 | double m_dPercent;
34 | int m_dBarHeight;
35 | };
36 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/demo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_demo.h"
5 |
6 | class Demo : public QMainWindow
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | Demo(QWidget *parent = Q_NULLPTR);
12 |
13 | private:
14 | Ui::DemoClass ui;
15 | private slots:
16 | void on_action_triggered();
17 | void on_action_2_triggered();
18 | void on_action_3_triggered();
19 | void on_action_4_triggered();
20 | void on_action_5_triggered();
21 | void on_action_6_triggered();
22 | void on_action_7_triggered();
23 | void on_action_8_triggered(bool checked);
24 | void on_action_9_triggered();
25 | void on_action_10_triggered();
26 |
27 | void on_mdiArea_subWindowActivated(QMdiSubWindow *window);
28 | };
29 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | exit.svg
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/main.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | Demo w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/myplaineditor.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ui_myplaineditor.h"
5 |
6 | class MyPlainEditor : public QWidget
7 | {
8 | Q_OBJECT
9 |
10 | public:
11 | MyPlainEditor(QWidget *parent = Q_NULLPTR);
12 | ~MyPlainEditor();
13 |
14 | void loadFile(QString &fileName);
15 | bool isFileOpened(); // 当前是否有文件已经打开
16 |
17 | void setEditFont();
18 | void textCut();
19 | void textCopy();
20 | void textPaste();
21 | private:
22 | Ui::MyPlainEditor ui;
23 | QString mCurFileName;
24 | bool mFileOpened = false;
25 | };
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/myplaineditor.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | MyPlainEditor
4 |
5 |
6 |
7 | 0
8 | 0
9 | 676
10 | 527
11 |
12 |
13 |
14 | MyPlainEditor
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_6/qt_06_mdi_area/qt_06_mdi_area.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-12-31T02:23:19.5803467Z
6 |
7 |
8 | 2022-12-31T02:23:19.6768452Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/images/love.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/images/love.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/main.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mypushbutton.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mypushbutton.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mypushbutton.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mypushbutton.h
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mystyle.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mystyle.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mystyle.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_00_basic/mystyle.h
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_01_keyboard_input/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_01_keyboard_input/main.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_02_comboBox/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 |
10 | QWidget mw;
11 | QComboBox* cb = new QComboBox(&mw);
12 | cb->addItems({ "China","USA","Russia" });
13 |
14 | QFontComboBox* fcb = new QFontComboBox(&mw);
15 | fcb->move(100, 100);
16 |
17 | mw.show();
18 |
19 | return a.exec();
20 | }
21 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_04_slider/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 | #include
5 | #include
6 |
7 |
8 | int main(int argc, char *argv[])
9 | {
10 | QApplication a(argc, argv);
11 |
12 | /** QDial */
13 | QDial* dial = new QDial;
14 | dial->show();
15 |
16 | /** QScrollBar */
17 | QScrollBar* sb = new QScrollBar;
18 | sb->show();
19 |
20 | QScrollBar* hsb = new QScrollBar(Qt::Horizontal);
21 | hsb->show();
22 |
23 | /** QSlider */
24 | QSlider* slider = new QSlider(Qt::Horizontal);
25 | slider->show();
26 |
27 |
28 | return a.exec();
29 | }
30 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_05_spinbox/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 | #include
5 | #include
6 |
7 |
8 | int main(int argc, char *argv[])
9 | {
10 | QApplication a(argc, argv);
11 |
12 |
13 | QWidget * mw = new QWidget;
14 |
15 | /** QDateTimeEdit */
16 | QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(QDateTime::currentDateTime(), mw);
17 | dateTimeEdit->setMinimumDate(QDate::currentDate().addDays(-365));
18 | dateTimeEdit->setMaximumDate(QDate::currentDate().addDays(365));
19 | dateTimeEdit->setDisplayFormat("yyyy.MM.dd");
20 |
21 | /** QDateEdit */
22 | QDateEdit* dateEdit = new QDateEdit(QDate::currentDate(), mw);
23 | dateEdit->move(100, 100);
24 |
25 | /** QTimeEdit */
26 | QTimeEdit* timeEdit = new QTimeEdit(QTime::currentTime(), mw);
27 | timeEdit->move(200, 100);
28 |
29 | /** QDoubleSpinBox */
30 | QDoubleSpinBox* dsb = new QDoubleSpinBox(mw);
31 | dsb->move(100, 200);
32 |
33 | /** QSpinBox */
34 | QSpinBox* sb = new QSpinBox(mw);
35 | sb->move(200, 200);
36 |
37 | mw->show();
38 |
39 | return a.exec();
40 | }
41 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_06_frame/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_7/qt_06_frame/main.cpp
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_00_basic/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class QGraphicsView;
6 | class QGraphicsScene;
7 |
8 | class lxQMainWindow : public QMainWindow
9 | {
10 | Q_OBJECT
11 |
12 | public:
13 | lxQMainWindow(QWidget *parent = nullptr);
14 | ~lxQMainWindow();
15 |
16 | protected:
17 | void mouseDoubleClickEvent(QMouseEvent *event) override;
18 |
19 | private:
20 | void initQSS();
21 |
22 | QGraphicsView* m_pGraphicsView;
23 | QGraphicsScene* m_pGraphisScene;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_00_basic/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_01_basic/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class QPushButton;
6 | class QComboBox;
7 | class QGraphicsView;
8 | class QGraphicsScene;
9 |
10 | class lxQMainWindow : public QMainWindow
11 | {
12 | Q_OBJECT
13 |
14 | public:
15 | lxQMainWindow(QWidget *parent = nullptr);
16 | ~lxQMainWindow();
17 |
18 | protected:
19 | void mouseDoubleClickEvent(QMouseEvent *event) override;
20 |
21 | private:
22 | void initQSS();
23 |
24 | QGraphicsView* m_pGraphicsView;
25 | QList m_listGraphicsScene;
26 |
27 | QPushButton* m_pAddViewBtn;
28 | QPushButton* m_pAddSceneBtn;
29 | QPushButton* m_pClearItemBtn;
30 | QComboBox* m_pSwitchSceneBtn;
31 |
32 |
33 | private slots:
34 | void slot_toolBtn_handle(int data);
35 | };
36 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_01_basic/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_01_basic/main.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_01_basic/main.exe
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_02_basic/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class QPushButton;
7 | class QComboBox;
8 | class QGraphicsView;
9 | class QGraphicsScene;
10 | class QDialog;
11 | class QFormLayout;
12 |
13 |
14 | class lxQMainWindow : public QMainWindow
15 | {
16 | Q_OBJECT
17 |
18 | public:
19 | lxQMainWindow(QWidget *parent = nullptr);
20 | ~lxQMainWindow();
21 |
22 | private:
23 | void initQSS();
24 | void initItemTypeComboBox();
25 | void initConfigPanel();
26 | void resetConfigPanel();
27 |
28 | bool eventFilter(QObject *watched, QEvent *event) override;
29 |
30 | QGraphicsView* m_pGraphicsView;
31 | QGraphicsScene* m_pGraphicsScene;
32 |
33 | QPushButton* m_pAddItemBtn;
34 | QPushButton* m_pClearSceneBtn;
35 | QComboBox* m_pItemTypeBtn;
36 |
37 | QDialog* m_pConfigPanel;
38 | QFormLayout* m_pFormLayout;
39 | QWidget* m_pCollectPointPanel;
40 | QVector m_vPoints;
41 | QPainterPath m_tPainterPath;
42 |
43 | private slots:
44 | void slot_toolBtn_handle(int data);
45 | };
46 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_02_basic/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_03_custom_view/lxqgraphicsview.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView : public QGraphicsView
6 | {
7 | Q_OBJECT
8 | public:
9 | lxQGraphicsView(QWidget *parent = nullptr);
10 |
11 | protected:
12 | void keyPressEvent(QKeyEvent *event) override;
13 | void keyReleaseEvent(QKeyEvent *event) override;
14 | void wheelEvent(QWheelEvent *event) override;
15 |
16 | private:
17 |
18 | bool m_bCtrl = false;
19 |
20 | /** 视图缩放操作 */
21 | void scaleView(qreal scaleFactor);
22 | void translateViewY(qreal dy);
23 | };
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_03_custom_view/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView;
6 | class QGraphicsScene;
7 |
8 | class lxQMainWindow : public QMainWindow
9 | {
10 | Q_OBJECT
11 |
12 | public:
13 | lxQMainWindow(QWidget *parent = nullptr);
14 | ~lxQMainWindow();
15 |
16 | protected:
17 | void mouseDoubleClickEvent(QMouseEvent *event) override;
18 |
19 | private:
20 | void initQSS();
21 |
22 | lxQGraphicsView* m_pGraphicsView;
23 | QGraphicsScene* m_pGraphisScene;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_03_custom_view/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_04_custom_item/lxqgraphicsitem.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | // lxQGraphicsPixmapItem
6 | class lxQGraphicsPixmapItem : public QGraphicsItem
7 | {
8 | public:
9 | lxQGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr);
10 |
11 | QGraphicsItem * duplicate();
12 | QRectF boundingRect() const override;
13 |
14 | protected:
15 | void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
16 | void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
17 |
18 | QPixmap m_tPixmap;
19 | };
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_04_custom_item/lxqgraphicsview.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView : public QGraphicsView
6 | {
7 | Q_OBJECT
8 | public:
9 | lxQGraphicsView(QWidget *parent = nullptr);
10 |
11 | protected:
12 | void keyPressEvent(QKeyEvent *event) override;
13 | void keyReleaseEvent(QKeyEvent *event) override;
14 | void wheelEvent(QWheelEvent *event) override;
15 |
16 | private:
17 |
18 | bool m_bCtrl = false;
19 |
20 | /** 视图缩放操作 */
21 | void scaleView(qreal scaleFactor);
22 | void translateViewY(qreal dy);
23 | };
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_04_custom_item/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView;
6 | class QGraphicsScene;
7 |
8 | class lxQMainWindow : public QMainWindow
9 | {
10 | Q_OBJECT
11 |
12 | public:
13 | lxQMainWindow(QWidget *parent = nullptr);
14 | ~lxQMainWindow();
15 |
16 | protected:
17 | void mouseDoubleClickEvent(QMouseEvent *event) override;
18 |
19 | private:
20 | void initQSS();
21 |
22 | lxQGraphicsView* m_pGraphicsView;
23 | QGraphicsScene* m_pGraphisScene;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_04_custom_item/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_05_custom_scene/lxqgraphicsitem.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class lxQGraphicsMimeData :public QMimeData
7 | {
8 | Q_OBJECT
9 | public:
10 | lxQGraphicsMimeData(QList items);
11 | ~lxQGraphicsMimeData();
12 | QList getItems() const;
13 |
14 | private:
15 | QList m_listItem;
16 | };
17 |
18 | // lxQGraphicsPixmapItem
19 | class lxQGraphicsPixmapItem : public QGraphicsItem
20 | {
21 | public:
22 | lxQGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr);
23 |
24 | QGraphicsItem * duplicate();
25 | QRectF boundingRect() const override;
26 |
27 | protected:
28 | void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
29 | void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
30 |
31 | QPixmap m_tPixmap;
32 | };
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_05_custom_scene/lxqgraphicsscene.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | class lxQGraphicsScene : public QGraphicsScene
7 | {
8 | Q_OBJECT
9 | public:
10 | lxQGraphicsScene(const QRectF &sceneRect, QObject *parent = nullptr);
11 |
12 | protected:
13 | void drawBackground(QPainter *painter, const QRectF &rect) override;
14 |
15 | private:
16 | void deleteSelectedItems();
17 | void copySelectedItem();
18 | void pasteItem();
19 |
20 | void keyPressEvent(QKeyEvent *event) override;
21 | };
22 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_05_custom_scene/lxqgraphicsview.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView : public QGraphicsView
6 | {
7 | Q_OBJECT
8 | public:
9 | lxQGraphicsView(QWidget *parent = nullptr);
10 |
11 | protected:
12 | void keyPressEvent(QKeyEvent *event) override;
13 | void keyReleaseEvent(QKeyEvent *event) override;
14 | void wheelEvent(QWheelEvent *event) override;
15 |
16 | private:
17 |
18 | bool m_bCtrl = false;
19 |
20 | /** 视图缩放操作 */
21 | void scaleView(qreal scaleFactor);
22 | void translateViewY(qreal dy);
23 | };
24 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_05_custom_scene/lxqmainwindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsView;
6 | class lxQGraphicsScene;
7 |
8 | class lxQMainWindow : public QMainWindow
9 | {
10 | Q_OBJECT
11 |
12 | public:
13 | lxQMainWindow(QWidget *parent = nullptr);
14 | ~lxQMainWindow();
15 |
16 | protected:
17 | void mouseDoubleClickEvent(QMouseEvent *event) override;
18 |
19 | private:
20 | void initQSS();
21 |
22 | lxQGraphicsView* m_pGraphicsView;
23 | lxQGraphicsScene* m_pGraphisScene;
24 | };
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_05_custom_scene/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqmainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQMainWindow mw;
9 | mw.show();
10 |
11 | return a.exec();
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/Resource.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/move.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/common.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | static int gn_vizItemTypeRole = Qt::UserRole + 1;
4 |
5 | enum lxQVizItemType
6 | {
7 | Start,
8 | CheckDI,
9 | WaitDI,
10 | SetDO,
11 | RelMove,
12 | Move,
13 | };
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/images/move.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/images/move.png
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqdragdropwidget.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include "ui_lxdragdropwidget.h"
7 |
8 |
9 | class lxQDragDropWidget : public QWidget
10 | {
11 | Q_OBJECT
12 |
13 | public:
14 | lxQDragDropWidget(QWidget *parent = Q_NULLPTR);
15 | ~lxQDragDropWidget();
16 |
17 | private slots:
18 |
19 |
20 | void slot_itemAdded(QGraphicsItem *item, QGraphicsScene *scene);
21 | void slot_itemMoved(QGraphicsScene* scene, const QPointF& offset);
22 | void slot_itemDelete();
23 |
24 |
25 | private:
26 | Ui::LxDragDropWidget ui;
27 |
28 | // action
29 | QAction* mpDeleteAct;
30 | QAction* mpRedoAct;
31 | QAction* mpUndoAct;
32 |
33 |
34 |
35 | QUndoStack* mpUndoStack;
36 |
37 |
38 | };
39 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqgraphicsscene.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsScene : public QGraphicsScene
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | lxQGraphicsScene(QObject *parent=nullptr);
11 | ~lxQGraphicsScene();
12 |
13 | protected:
14 | void drawBackground(QPainter *painter, const QRectF &rect) override;
15 |
16 | void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
17 | void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
18 | void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
19 |
20 | signals:
21 | void signal_itemMoved(QGraphicsScene*scene,const QPointF &offset);
22 |
23 | private:
24 | QPointF m_tOldPos;
25 | QPointF m_tNewPos;
26 |
27 | };
28 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqgraphicsview.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQGraphicsScene;
6 |
7 | class lxQGraphicsView : public QGraphicsView
8 | {
9 | Q_OBJECT
10 |
11 | public:
12 | lxQGraphicsView(QWidget *parent);
13 | ~lxQGraphicsView();
14 |
15 |
16 | lxQGraphicsScene* m_pScene;
17 |
18 | protected:
19 | void dragEnterEvent(QDragEnterEvent *event) override;
20 | void dragMoveEvent(QDragMoveEvent *event) override;
21 | void dropEvent(QDropEvent *event) override;
22 |
23 | void keyPressEvent(QKeyEvent *event) override;
24 | void keyReleaseEvent(QKeyEvent *event) override;
25 | void wheelEvent(QWheelEvent *event) override;
26 |
27 | void mousePressEvent(QMouseEvent *event) override;
28 |
29 | signals:
30 | void signal_itemAdded(QGraphicsItem *item, QGraphicsScene *scene);
31 |
32 | private:
33 | void scaleView(qreal scaleFactor);
34 | void translateViewY(qreal dy);
35 |
36 | bool mb_ctrl = false;
37 | };
38 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqtreewidget.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQTreeWidget : public QTreeWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | lxQTreeWidget(QWidget *parent);
11 | ~lxQTreeWidget();
12 | protected:
13 | void mouseMoveEvent(QMouseEvent *event) override;
14 |
15 | private:
16 | void addItem();
17 | };
18 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqundoview.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqundoview.h"
2 | #include
3 | #include
4 |
5 | lxQUndoView::lxQUndoView(QWidget *parent)
6 | :QUndoView(parent)
7 | {
8 | //setStyleSheet("background-color:rgb(38,38,38);\nborder:no border;");
9 | }
10 |
11 | lxQUndoView::~lxQUndoView()
12 | {
13 |
14 | }
15 |
16 | void lxQUndoView::mousePressEvent(QMouseEvent *event)
17 | {
18 | event->accept(); ///< 重写鼠标事件 使鼠标事件不往下传递 以达到不能通过鼠标来触发redo/undo的目的
19 | }
20 |
21 | void lxQUndoView::mouseMoveEvent(QMouseEvent *event)
22 | {
23 | event->accept(); ///< 重写鼠标事件 使鼠标事件不往下传递 以达到不能通过鼠标来触发redo/undo的目的
24 | }
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/lxqundoview.h:
--------------------------------------------------------------------------------
1 | #ifndef LX_QUNDOVIEW_H
2 | #define LX_QUNDOVIEW_H
3 |
4 | #include
5 |
6 | class lxQUndoView :public QUndoView
7 | {
8 | Q_OBJECT
9 | public:
10 | lxQUndoView(QWidget *parent = nullptr);
11 | ~lxQUndoView();
12 |
13 | protected:
14 | void mousePressEvent(QMouseEvent *event) override;
15 | void mouseMoveEvent(QMouseEvent *event) override;
16 |
17 | private:
18 |
19 | };
20 |
21 |
22 | #endif
23 |
24 |
25 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qgraphicsview_06_drag_drop_node/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqdragdropwidget.h"
2 |
3 | #include
4 |
5 | int main(int argc, char *argv[])
6 | {
7 |
8 | QApplication a(argc, argv);
9 |
10 | lxQDragDropWidget w;
11 | w.show();
12 |
13 |
14 | return a.exec();
15 | }
16 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qt_coord/lxqcircle.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqcircle.h"
2 |
3 | #include
4 |
5 | lxQCircle::lxQCircle(QWidget *parent)
6 | : QWidget(parent)
7 | {
8 | setFixedSize(200, 200);
9 | }
10 |
11 | void lxQCircle::paintEvent(QPaintEvent *event)
12 | {
13 | QPainter painter(this);
14 | QPen pen;
15 | pen.setCosmetic(true);
16 | painter.setPen(pen);
17 |
18 | painter.setWindow(-10, -10, 20, 20);
19 | painter.drawEllipse(0, 0, 10, 10);
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qt_coord/lxqcircle.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class lxQCircle : public QWidget
6 | {
7 | Q_OBJECT
8 |
9 | public:
10 | lxQCircle(QWidget *parent = nullptr);
11 |
12 | protected:
13 | void paintEvent(QPaintEvent *event) override;
14 | };
15 |
16 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qt_coord/main.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqcircle.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 |
8 | lxQCircle circle;
9 | circle.show();
10 |
11 | return a.exec();
12 | }
13 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qtpropertybrowser_01_custom_manager/main.cpp:
--------------------------------------------------------------------------------
1 | #include "qttreepropertybrowser.h"
2 | #include "qteditorfactory.h"
3 | #include "lxqtpropertymanager.h"
4 |
5 | #include
6 |
7 | int main(int argc, char **argv)
8 | {
9 | QApplication app(argc, argv);
10 |
11 | // browser
12 | QtTreePropertyBrowser* browser = new QtTreePropertyBrowser;
13 | browser->setAlternatingRowColors(false);
14 |
15 | // manager
16 | QtGroupPropertyManager *groupMng = new QtGroupPropertyManager(browser);
17 | lxQtSpacePointManager *spacePointMng = new lxQtSpacePointManager(browser);
18 |
19 | // property
20 | QtProperty *groupProp = groupMng->addProperty("Group");
21 | QtProperty *sp1 = spacePointMng->addProperty("SP1");
22 | QtProperty *sp2 = spacePointMng->addProperty("SP2");
23 |
24 | groupProp->addSubProperty(sp1);
25 | groupProp->addSubProperty(sp2);
26 |
27 | // factory
28 | auto doubleFactory = new QtDoubleSpinBoxFactory(browser);
29 | browser->setFactoryForManager(spacePointMng->subDoublePropertyManager(), doubleFactory);
30 |
31 | // browser
32 | browser->addProperty(groupProp);
33 | browser->show();
34 |
35 | return app.exec();
36 | }
37 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qtpropertybrowser_02_custom_factory/lxqtpropertyvalidator.cpp:
--------------------------------------------------------------------------------
1 | #include "lxqtpropertyvalidator.h"
2 |
3 | #include
4 |
5 | // lxQtRegexValidator
6 | lxQtRegexValidator::lxQtRegexValidator(QString regex, QObject* parent /*= nullptr*/)
7 | :m_strRegex(regex),lxQtAbstractValidator(parent)
8 | {
9 | m_tRegValidator = new QRegExpValidator(QRegExp(regex), this);
10 | }
11 | bool lxQtRegexValidator::validate(QVariant data)
12 | {
13 | QString strData = data.toString();
14 | int pos = 0;
15 |
16 | return m_tRegValidator->validate(strData,pos) == QValidator::Acceptable;
17 | }
18 |
19 | // lxQtMinValueValidator
20 | lxQtMinValueValidator::lxQtMinValueValidator(double minValue, QObject* parent /*= nullptr*/)
21 | :m_dMinValue(minValue),lxQtAbstractValidator(parent)
22 | {
23 | }
24 |
25 | bool lxQtMinValueValidator::validate(QVariant data)
26 | {
27 | return data.toDouble() >= m_dMinValue;
28 | }
29 |
30 | // lxQtMaxValueValidator
31 | lxQtMaxValueValidator::lxQtMaxValueValidator(double maxValue, QObject* parent /*= nullptr*/)
32 | :m_dMaxValue(maxValue),lxQtAbstractValidator(parent)
33 | {
34 | }
35 |
36 | bool lxQtMaxValueValidator::validate(QVariant data)
37 | {
38 | return data.toDouble() <= m_dMaxValue;
39 | }
40 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/01c++/qt_GSGU_2_9-0/qtpropertybrowser_02_custom_factory/lxqtpropertyvalidator.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | class lxQtAbstractValidator:public QObject
6 | {
7 | Q_OBJECT
8 | public:
9 | virtual bool validate(QVariant data) = 0;
10 | protected:
11 | explicit lxQtAbstractValidator(QObject* parent=nullptr) {}
12 | };
13 |
14 | class lxQtRegexValidator :public lxQtAbstractValidator
15 | {
16 | public:
17 | explicit lxQtRegexValidator(QString regex, QObject* parent = nullptr);
18 | bool validate(QVariant data) override;
19 | private:
20 | QString m_strRegex;
21 | QRegExpValidator* m_tRegValidator;
22 | };
23 |
24 | class lxQtMinValueValidator :public lxQtAbstractValidator
25 | {
26 | public:
27 | explicit lxQtMinValueValidator(double minValue, QObject* parent = nullptr);
28 | bool validate(QVariant data) override;
29 | private:
30 | double m_dMinValue;
31 | };
32 |
33 | class lxQtMaxValueValidator :public lxQtAbstractValidator
34 | {
35 | public:
36 | explicit lxQtMaxValueValidator(double maxValue, QObject* parent = nullptr);
37 | bool validate(QVariant data) override;
38 | private:
39 | double m_dMaxValue;
40 | };
41 |
--------------------------------------------------------------------------------
/qt_GSGU/第二章 Widgets体系/02python/qt_GSGU_2_1/qtnamespace/main.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtCore import QDate, Qt
2 |
3 |
4 | def printCurDate(format):
5 | print(QDate.currentDate().toString(format))
6 |
7 |
8 | if __name__ == '__main__':
9 | printCurDate(Qt.ISODate)
10 | printCurDate(Qt.LocalDate)
11 | printCurDate(Qt.TextDate)
12 |
--------------------------------------------------------------------------------
/qt_project/README.md:
--------------------------------------------------------------------------------
1 | total 0
2 | -rw-r--r-- 1 admin 197121 0 May 13 17:54 README.md
3 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/canvas_typed/canvas_typed.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += qtcanvas.h mainwindow.h
8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/canvas_variant/canvas_variant.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += qtcanvas.h mainwindow.h
8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/decoration/decoration.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp \
8 | mydoublepropertymanager.cpp \
9 | mydoublespinboxfactory.cpp
10 |
11 | HEADERS += \
12 | mydoublepropertymanager.h \
13 | mydoublespinboxfactory.h
14 |
15 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/decoration/mydoublepropertymanager.h:
--------------------------------------------------------------------------------
1 | #ifndef MYDOUBLEPROPERTYMANAGER_H
2 | #define MYDOUBLEPROPERTYMANAGER_H
3 |
4 | #include
5 |
6 | class MyDoublePropertyManager:public QtDoublePropertyManager
7 | {
8 | Q_OBJECT
9 | public:
10 | MyDoublePropertyManager(QObject* parent=nullptr);
11 | ~MyDoublePropertyManager();
12 |
13 | void setPrefix(QtProperty *property,QString prefix);
14 | void setSuffix(QtProperty *property,QString suffix);
15 |
16 | QString getPrefix(QtProperty *property);
17 | QString getSuffix(QtProperty *property);
18 |
19 | signals:
20 | void prefixChanged(QtProperty* property,QString prefix);
21 | void suffixChanged(QtProperty* property,QString suffix);
22 |
23 |
24 | protected:
25 | void initializeProperty(QtProperty *property) override;
26 | void uninitializeProperty(QtProperty *property) override;
27 | QString valueText(const QtProperty *property) const override;
28 |
29 | private:
30 | struct ElseData
31 | {
32 | QString prefix;
33 | QString suffix;
34 | };
35 | QMap mMapPropertyAndElseData;
36 | };
37 |
38 |
39 | #endif // MYDOUBLEPROPERTYMANAGER_H
40 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/decoration/mydoublespinboxfactory.h:
--------------------------------------------------------------------------------
1 | #ifndef MYDOUBLESPINBOXFACTORY_H
2 | #define MYDOUBLESPINBOXFACTORY_H
3 |
4 | #include "mydoublepropertymanager.h"
5 | #include
6 | #include
7 |
8 | class MyDoubleSpinBoxFactory : public QtAbstractEditorFactory
9 | {
10 | public:
11 | MyDoubleSpinBoxFactory(QObject* parent=nullptr);
12 | ~MyDoubleSpinBoxFactory();
13 |
14 | protected:
15 | void connectPropertyManager(MyDoublePropertyManager *manager) override;
16 | QWidget * createEditor(MyDoublePropertyManager *manager, QtProperty *property, QWidget *parent) override;
17 | void disconnectPropertyManager(MyDoublePropertyManager *manager) override;
18 |
19 | private:
20 | void on_manager_prefixChanged(QtProperty* property,QString prefix);
21 | void on_manager_suffixChanged(QtProperty* property,QString suffix);
22 | void slot_editor_destroyed(QObject* object);
23 |
24 |
25 | private:
26 | QtDoubleSpinBoxFactory* mInnerFactory;
27 |
28 | QMap > mCreatedEditors;
29 | QMap mEditorToProperty;
30 |
31 | };
32 |
33 | #endif // MYDOUBLESPINBOXFACTORY_H
34 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/demo.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 | RESOURCES += demo.qrc
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/up.png
4 | images/down.png
5 | images/right.png
6 | images/left.png
7 |
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/demo/images/down.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/images/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/demo/images/left.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/images/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/demo/images/right.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo/images/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/demo/images/up.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/demo_use_propertybrowser.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 | SUBDIRS = \
3 | # simple \
4 | # decoration \
5 | # demo \
6 | # object_controller \
7 | # extension \
8 | # canvas_typed \
9 | canvas_variant \
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/extension/extension.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/object_controller/object_controller.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += objectcontroller.h
8 | SOURCES += objectcontroller.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/buildlib/buildlib.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE=lib
2 | CONFIG += qt dll qtpropertybrowser-buildlib
3 | mac:CONFIG += absolute_library_soname
4 | win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all
5 | include(../src/qtpropertybrowser.pri)
6 | TARGET = $$QTPROPERTYBROWSER_LIBNAME
7 | DESTDIR = $$QTPROPERTYBROWSER_LIBDIR
8 | win32 {
9 | DLLDESTDIR = $$[QT_INSTALL_BINS]
10 | QMAKE_DISTCLEAN += $$[QT_INSTALL_BINS]\\$${QTPROPERTYBROWSER_LIBNAME}.dll
11 | }
12 | target.path = $$DESTDIR
13 | INSTALLS += target
14 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/common.pri:
--------------------------------------------------------------------------------
1 | exists(config.pri):infile(config.pri, SOLUTIONS_LIBRARY, yes): CONFIG += qtpropertybrowser-uselib
2 | TEMPLATE += fakelib
3 | QTPROPERTYBROWSER_LIBNAME = $$qtLibraryTarget(QtSolutions_PropertyBrowser-head)
4 | TEMPLATE -= fakelib
5 | QTPROPERTYBROWSER_LIBDIR = $$PWD/lib
6 | unix:qtpropertybrowser-uselib:!qtpropertybrowser-buildlib:QMAKE_RPATHDIR += $$QTPROPERTYBROWSER_LIBDIR
7 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/configure:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ "x$1" != "x" -a "x$1" != "x-library" ]; then
4 | echo "Usage: $0 [-library]"
5 | echo
6 | echo "-library: Build the component as a dynamic library (DLL). Default is to"
7 | echo " include the component source code directly in the application."
8 | echo
9 | exit 0
10 | fi
11 |
12 | rm -f config.pri
13 | if [ "x$1" = "x-library" ]; then
14 | echo "Configuring to build this component as a dynamic library."
15 | echo "SOLUTIONS_LIBRARY = yes" > config.pri
16 | fi
17 |
18 | echo
19 | echo "This component is now configured."
20 | echo
21 | echo "To build the component library (if requested) and example(s),"
22 | echo "run qmake and your make command."
23 | echo
24 | echo "To remove or reconfigure, run make distclean."
25 | echo
26 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/canvas_typed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/canvas_typed.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/canvas_variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/canvas_variant.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/decoration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/decoration.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/demo.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/extension.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/object_controller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/object_controller.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qt-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qt-logo.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtbuttonpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtbuttonpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtgroupboxpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtgroupboxpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtpropertybrowser-duplicate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtpropertybrowser-duplicate.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qtpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qttreepropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/qttreepropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/simple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/html/images/simple.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/canvas_typed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/canvas_typed.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/canvas_variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/canvas_variant.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/decoration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/decoration.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/demo.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/extension.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/object_controller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/object_controller.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qt-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qt-logo.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtbuttonpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtbuttonpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtgroupboxpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtgroupboxpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtpropertybrowser-duplicate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtpropertybrowser-duplicate.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtpropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qtpropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qttreepropertybrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/qttreepropertybrowser.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/simple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/doc/images/simple.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/canvas_typed/canvas_typed.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += qtcanvas.h mainwindow.h
8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/canvas_variant/canvas_variant.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += qtcanvas.h mainwindow.h
8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/decoration/decoration.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/demo.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 | RESOURCES += demo.qrc
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/demo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/up.png
4 | images/down.png
5 | images/right.png
6 | images/left.png
7 |
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/down.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/left.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/right.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/demo/images/up.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/examples.pro:
--------------------------------------------------------------------------------
1 | ######################################################################
2 | # Automatically generated by qmake (2.00a) Wed Jun 15 15:53:34 2005
3 | ######################################################################
4 |
5 | TEMPLATE = subdirs
6 | SUBDIRS = simple canvas_variant canvas_typed demo decoration extension object_controller
7 |
8 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/extension/extension.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/object_controller/object_controller.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | HEADERS += objectcontroller.h
8 | SOURCES += objectcontroller.cpp main.cpp
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/examples/simple/simple.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../../src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 |
9 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/qtpropertybrowser.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE=subdirs
2 | CONFIG += ordered
3 | include(common.pri)
4 | qtpropertybrowser-uselib:SUBDIRS=buildlib
5 | #SUBDIRS+=examples
6 | message(--------------------> 222222222222222222)
7 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtAbstractEditorFactoryBase:
--------------------------------------------------------------------------------
1 | #include "qtpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtAbstractPropertyBrowser:
--------------------------------------------------------------------------------
1 | #include "qtpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtAbstractPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtBoolPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtBrowserItem:
--------------------------------------------------------------------------------
1 | #include "qtpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtButtonPropertyBrowser:
--------------------------------------------------------------------------------
1 | #include "qtbuttonpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtCharEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtCharPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtCheckBoxFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtColorEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtColorPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtCursorEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtCursorPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDateEditFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDatePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDateTimeEditFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDateTimePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDoublePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtDoubleSpinBoxFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtEnumEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtEnumPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtFlagPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtFontEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtFontPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtGroupBoxPropertyBrowser:
--------------------------------------------------------------------------------
1 | #include "qtgroupboxpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtGroupPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtIntPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtKeySequenceEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtKeySequencePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtLineEditFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtLocalePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtPointFPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtPointPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtProperty:
--------------------------------------------------------------------------------
1 | #include "qtpropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtRectFPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtRectPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtScrollBarFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtSizeFPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtSizePolicyPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtSizePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtSliderFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtSpinBoxFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtStringPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtTimeEditFactory:
--------------------------------------------------------------------------------
1 | #include "qteditorfactory.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtTimePropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtpropertymanager.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtTreePropertyBrowser:
--------------------------------------------------------------------------------
1 | #include "qttreepropertybrowser.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtVariantEditorFactory:
--------------------------------------------------------------------------------
1 | #include "qtvariantproperty.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtVariantProperty:
--------------------------------------------------------------------------------
1 | #include "qtvariantproperty.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/QtVariantPropertyManager:
--------------------------------------------------------------------------------
1 | #include "qtvariantproperty.h"
2 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-arrow.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-busy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-busy.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-closedhand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-closedhand.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-cross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-cross.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-forbidden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-forbidden.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-hand.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-hsplit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-hsplit.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-ibeam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-ibeam.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-openhand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-openhand.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeall.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeb.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizef.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizeh.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-sizev.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-uparrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-uparrow.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-vsplit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-vsplit.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-wait.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-whatsthis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/images/cursor-whatsthis.png
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/qtpropertybrowser/src/qtpropertybrowser.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/cursor-arrow.png
4 | images/cursor-busy.png
5 | images/cursor-closedhand.png
6 | images/cursor-cross.png
7 | images/cursor-forbidden.png
8 | images/cursor-hand.png
9 | images/cursor-hsplit.png
10 | images/cursor-ibeam.png
11 | images/cursor-openhand.png
12 | images/cursor-sizeall.png
13 | images/cursor-sizeb.png
14 | images/cursor-sizef.png
15 | images/cursor-sizeh.png
16 | images/cursor-sizev.png
17 | images/cursor-uparrow.png
18 | images/cursor-vsplit.png
19 | images/cursor-wait.png
20 | images/cursor-whatsthis.png
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/simple/cn.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzcb/qt/71d35856c880710bf23ec82b4827450331f2e035/qt_project/demo_use_propertybrowser/simple/cn.qm
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/simple/simple.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 | DEPENDPATH += .
3 | INCLUDEPATH += .
4 |
5 | include(../qtpropertybrowser/src/qtpropertybrowser.pri)
6 | # Input
7 | SOURCES += main.cpp
8 |
9 | TRANSLATIONS += cn.ts
10 |
11 | DISTFILES += \
12 | cn.ts
13 |
14 | RESOURCES += \
15 | simple.qrc
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/qt_project/demo_use_propertybrowser/simple/simple.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | cn.qm
4 |
5 |
6 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/flow_layout/flow_layout.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-11-24T03:34:29.1672896Z
6 |
7 |
8 | 2022-11-24T03:34:29.2867894Z
9 |
10 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/flow_layout/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mywidget.h"
2 | #include
3 |
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | QApplication a(argc, argv);
8 | MyWidget w;
9 | w.show();
10 | return a.exec();
11 | }
12 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/flow_layout/mywidget.cpp:
--------------------------------------------------------------------------------
1 | #include "mywidget.h"
2 |
3 | #include
4 | #include
5 |
6 | #include "flowlayout.h"
7 | #include
8 |
9 | MyWidget::MyWidget(QWidget*parent)
10 | :QWidget(parent)
11 | {
12 | QVBoxLayout *mainLayout = new QVBoxLayout(this);
13 |
14 | QScrollArea *scrollArea = new QScrollArea;
15 | scrollArea->setWidgetResizable(true); // very important
16 |
17 | QWidget* childW = new QWidget;
18 | m_pFlowLayout = new FlowLayout(childW);
19 | m_pFlowLayout->addWidget(new QPushButton);
20 | m_pFlowLayout->addWidget(new QPushButton);
21 | m_pFlowLayout->addWidget(new QPushButton);
22 | childW->setLayout(m_pFlowLayout);
23 |
24 | scrollArea->setWidget(childW);
25 |
26 | auto btn = new QPushButton("add new green");
27 | mainLayout->addWidget(btn);
28 | mainLayout->addWidget(scrollArea);
29 |
30 | connect(btn, &QPushButton::clicked, this, &MyWidget::slot_addBtn);
31 | }
32 |
33 | void MyWidget::slot_addBtn()
34 | {
35 | m_pFlowLayout->addWidget(new GreenWidget);
36 | }
37 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/flow_layout/mywidget.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class FlowLayout;
6 |
7 | class GreenWidget :public QWidget
8 | {
9 | public:
10 | GreenWidget(QWidget* parent = nullptr)
11 | :QWidget(parent)
12 | {
13 | setStyleSheet("background:green;");
14 | setFixedSize(50, 50);
15 | }
16 | };
17 |
18 | class MyWidget : public QWidget
19 | {
20 | Q_OBJECT
21 |
22 | public:
23 | MyWidget(QWidget*parent=nullptr);
24 |
25 | private slots:
26 | void slot_addBtn();
27 |
28 | private:
29 | FlowLayout* m_pFlowLayout;
30 | };
31 |
32 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/sizehint_minimumsizehint/demo.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 |
3 | #include
4 |
5 | Demo::Demo(QWidget *parent)
6 | : QWidget(parent)
7 | {
8 | QHBoxLayout* hLayout = new QHBoxLayout(this);
9 | hLayout->addWidget(new MyWidget);
10 | hLayout->addWidget(new MyWidget);
11 |
12 | setLayout(hLayout);
13 | }
14 |
15 | Demo::~Demo()
16 | {}
17 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/sizehint_minimumsizehint/demo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 |
6 | class MyWidget :public QWidget
7 | {
8 | public:
9 | MyWidget(QWidget* parent = nullptr)
10 | :QWidget(parent)
11 | {
12 | setStyleSheet("background:green;");
13 | }
14 | // sizeHint vs minimumSizeHint
15 | // When the widget is created the system uses sizeHint for how to big to make at start.
16 | // When the widget is resized(by layout, by user dragging) the minimumSizeHint is used to
17 | // make sure it never becomes smaller than that.
18 | QSize sizeHint() const override
19 | {
20 | return QSize(100, 50);
21 | }
22 | QSize minimumSizeHint() const override
23 | {
24 | return QSize(50, 25);
25 | }
26 | };
27 |
28 |
29 | class Demo : public QWidget
30 | {
31 | Q_OBJECT
32 |
33 | public:
34 | Demo(QWidget *parent = nullptr);
35 | ~Demo();
36 |
37 | };
38 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/sizehint_minimumsizehint/main.cpp:
--------------------------------------------------------------------------------
1 | #include "demo.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | Demo w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/qt_project/flow_layout_and_sizehint/sizehint_minimumsizehint/sizehint_minimumsizehint.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 2022-11-24T03:52:54.3235149Z
6 |
7 |
8 | 2022-11-24T03:52:54.4690165Z
9 |
10 |
--------------------------------------------------------------------------------