no message

master
zcy 2022-05-12 01:55:30 +08:00
parent cb09fb77c5
commit 4b75ee116a
96 changed files with 9318 additions and 0 deletions

View File

@ -0,0 +1,22 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1929
QMAKE_CXX.QMAKE_MSC_FULL_VER = 192930140
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\ATLMFC\\include" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\include" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt"
QMAKE_CXX.LIBDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\ATLMFC\\lib\\x64" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64"

View File

@ -0,0 +1,497 @@
#############################################################################
# Makefile for building: webrtc_demo
# Generated by qmake (3.1) (Qt 5.14.0)
# Project: webrtc_demo.pro
# Template: app
# Command: H:\Qt\5.14.0\msvc2017_64\bin\qmake.exe -o Makefile webrtc_demo.pro -spec win32-msvc "CONFIG+=debug"
#############################################################################
MAKEFILE = Makefile
EQ = =
first: debug
install: debug-install
uninstall: debug-uninstall
QMAKE = H:\Qt\5.14.0\msvc2017_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = H:\Qt\5.14.0\msvc2017_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = H:\Qt\5.14.0\msvc2017_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
IDC = idc
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
SED = $(QMAKE) -install sed
MOVE = move
SUBTARGETS = \
debug \
release
debug: $(MAKEFILE) FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug
debug-all: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug uninstall
release: $(MAKEFILE) FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release
release-make_first: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release
release-all: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release all
release-clean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release uninstall
Makefile: webrtc_demo.pro H:\Qt\5.14.0\msvc2017_64\mkspecs\win32-msvc\qmake.conf H:\Qt\5.14.0\msvc2017_64\mkspecs\features\spec_pre.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\angle.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\windows-desktop.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\windows_vulkan_sdk.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\windows-vulkan.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\msvc-desktop.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\qconfig.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3danimation.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3danimation_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dcore.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dcore_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dextras.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dextras_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dinput.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dinput_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dlogic.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dlogic_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquick.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquick_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickanimation.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickextras.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickextras_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickinput.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickinput_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickrender.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickrender_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickscene2d.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3drender.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3drender_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_accessibility_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axbase.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axbase_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axcontainer.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axcontainer_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axserver.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axserver_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bluetooth.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bluetooth_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bootstrap_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_charts.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_charts_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_concurrent.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_concurrent_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_core.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_core_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_dbus.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_dbus_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designer.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designer_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designercomponents_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_edid_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_egl_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_fb_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gamepad.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gamepad_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gui.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gui_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_help.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_help_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_location.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_location_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimedia.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimedia_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimediawidgets.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_network.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_network_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_nfc.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_nfc_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_opengl.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_opengl_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_openglextensions.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_openglextensions_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_packetprotocol_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioning.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioning_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioningquick.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioningquick_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_printsupport.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_printsupport_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qml.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qml_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmldebug_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmldevtools_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlmodels.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlmodels_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmltest.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmltest_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlworkerscript.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quick.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quick_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickcontrols2.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickparticles_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickshapes_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quicktemplates2.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickwidgets.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickwidgets_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_remoteobjects.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_remoteobjects_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_repparser.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_repparser_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_scxml.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_scxml_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sensors.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sensors_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialbus.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialbus_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialport.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialport_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sql.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sql_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_svg.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_svg_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_testlib.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_testlib_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_texttospeech.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_texttospeech_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_theme_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uiplugin.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uitools.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uitools_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_vulkan_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webchannel.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webchannel_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_websockets.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_websockets_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webview.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webview_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_widgets.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_widgets_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_winextras.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_winextras_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xml.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xml_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xmlpatterns.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_zlib_private.pri \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt_functions.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt_config.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\win32-msvc\qmake.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\spec_post.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exclusive_builds.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\msvc-version.conf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\toolchain.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\default_pre.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\default_pre.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resolve_config.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exclusive_builds_post.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\default_post.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\precompile_header.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\warn_on.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resources_functions.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resources.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\moc.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\opengl.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\uic.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qmake_use.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\file_copies.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\windows.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\testcase_targets.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exceptions.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\yacc.prf \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\lex.prf \
webrtc_demo.pro \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Widgets.prl \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Gui.prl \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Core.prl \
H:\Qt\5.14.0\msvc2017_64\lib\qtmain.prl \
.qmake.stash \
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\build_pass.prf \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Widgetsd.prl \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Guid.prl \
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Cored.prl \
H:\Qt\5.14.0\msvc2017_64\lib\qtmaind.prl
$(QMAKE) -o Makefile webrtc_demo.pro -spec win32-msvc "CONFIG+=debug"
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\spec_pre.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\angle.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\windows-desktop.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\windows_vulkan_sdk.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\windows-vulkan.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\msvc-desktop.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\qconfig.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3danimation.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3danimation_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dcore.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dcore_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dextras.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dextras_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dinput.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dinput_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dlogic.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dlogic_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquick.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquick_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickanimation.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickextras.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickextras_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickinput.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickinput_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickrender.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickrender_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickscene2d.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3drender.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_3drender_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_accessibility_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axbase.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axbase_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axcontainer.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axcontainer_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axserver.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_axserver_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bluetooth.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bluetooth_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_bootstrap_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_charts.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_charts_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_concurrent.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_concurrent_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_core.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_core_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_dbus.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_dbus_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designer.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designer_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_designercomponents_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_edid_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_egl_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_eventdispatcher_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_fb_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_fontdatabase_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gamepad.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gamepad_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gui.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_gui_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_help.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_help_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_location.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_location_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimedia.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimedia_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimediawidgets.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_network.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_network_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_nfc.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_nfc_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_opengl.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_opengl_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_openglextensions.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_openglextensions_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_packetprotocol_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_platformcompositor_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioning.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioning_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioningquick.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_positioningquick_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_printsupport.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_printsupport_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qml.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qml_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmldebug_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmldevtools_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlmodels.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlmodels_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmltest.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmltest_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlworkerscript.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_qtmultimediaquicktools_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quick.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quick_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickcontrols2.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickparticles_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickshapes_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quicktemplates2.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickwidgets.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_quickwidgets_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_remoteobjects.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_remoteobjects_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_repparser.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_repparser_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_scxml.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_scxml_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sensors.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sensors_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialbus.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialbus_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialport.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_serialport_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sql.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_sql_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_svg.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_svg_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_testlib.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_testlib_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_texttospeech.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_texttospeech_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_theme_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uiplugin.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uitools.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_uitools_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_vulkan_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webchannel.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webchannel_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_websockets.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_websockets_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webview.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_webview_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_widgets.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_widgets_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_windowsuiautomation_support_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_winextras.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_winextras_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xml.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xml_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xmlpatterns.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_xmlpatterns_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\modules\qt_lib_zlib_private.pri:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt_functions.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt_config.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\win32-msvc\qmake.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\spec_post.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exclusive_builds.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\common\msvc-version.conf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\toolchain.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\default_pre.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\default_pre.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resolve_config.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exclusive_builds_post.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\default_post.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\precompile_header.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\warn_on.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qt.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resources_functions.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\resources.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\moc.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\opengl.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\uic.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\qmake_use.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\file_copies.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\win32\windows.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\testcase_targets.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\exceptions.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\yacc.prf:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\lex.prf:
webrtc_demo.pro:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Widgets.prl:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Gui.prl:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Core.prl:
H:\Qt\5.14.0\msvc2017_64\lib\qtmain.prl:
.qmake.stash:
H:\Qt\5.14.0\msvc2017_64\mkspecs\features\build_pass.prf:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Widgetsd.prl:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Guid.prl:
H:\Qt\5.14.0\msvc2017_64\lib\Qt5Cored.prl:
H:\Qt\5.14.0\msvc2017_64\lib\qtmaind.prl:
qmake: FORCE
@$(QMAKE) -o Makefile webrtc_demo.pro -spec win32-msvc "CONFIG+=debug"
qmake_all: FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
-$(DEL_FILE) webrtc_demo.vc.pdb
-$(DEL_FILE) webrtc_demo.ilk
-$(DEL_FILE) webrtc_demo.idb
distclean: debug-distclean release-distclean FORCE
-$(DEL_FILE) Makefile
-$(DEL_FILE) .qmake.stash webrtc_demo.pdb
debug-mocclean:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean
debug-mocables:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
check: first
benchmark: first
FORCE:
$(MAKEFILE).Debug: Makefile
$(MAKEFILE).Release: Makefile

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,130 @@
/****************************************************************************
** Meta object code from reading C++ file 'cplaywidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../src/cplaywidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'cplaywidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CPlayWidget_t {
QByteArrayData data[7];
char stringdata0[142];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_CPlayWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_CPlayWidget_t qt_meta_stringdata_CPlayWidget = {
{
QT_MOC_LITERAL(0, 0, 11), // "CPlayWidget"
QT_MOC_LITERAL(1, 12, 11), // "OnPaintData"
QT_MOC_LITERAL(2, 24, 0), // ""
QT_MOC_LITERAL(3, 25, 47), // "rtc::scoped_refptr<webrtc::I4..."
QT_MOC_LITERAL(4, 73, 6), // "buffer"
QT_MOC_LITERAL(5, 80, 12), // "OnCameraData"
QT_MOC_LITERAL(6, 93, 48) // "rtc::scoped_refptr<webrtc::I4..."
},
"CPlayWidget\0OnPaintData\0\0"
"rtc::scoped_refptr<webrtc::I420BufferInterface>\0"
"buffer\0OnCameraData\0"
"rtc::scoped_refptr<webrtc::I420BufferInterface>&"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_CPlayWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x0a /* Public */,
5, 1, 27, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, 0x80000000 | 3, 4,
QMetaType::Void, 0x80000000 | 6, 2,
0 // eod
};
void CPlayWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<CPlayWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->OnPaintData((*reinterpret_cast< const rtc::scoped_refptr<webrtc::I420BufferInterface>(*)>(_a[1]))); break;
case 1: _t->OnCameraData((*reinterpret_cast< rtc::scoped_refptr<webrtc::I420BufferInterface>(*)>(_a[1]))); break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject CPlayWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QOpenGLWidget::staticMetaObject>(),
qt_meta_stringdata_CPlayWidget.data,
qt_meta_data_CPlayWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *CPlayWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *CPlayWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_CPlayWidget.stringdata0))
return static_cast<void*>(this);
if (!strcmp(_clname, "QOpenGLFunctions"))
return static_cast< QOpenGLFunctions*>(this);
return QOpenGLWidget::qt_metacast(_clname);
}
int CPlayWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QOpenGLWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@ -0,0 +1,122 @@
/****************************************************************************
** Meta object code from reading C++ file 'mainwindow.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../src/mainwindow.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mainwindow.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[5];
char stringdata0[82];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
{
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
QT_MOC_LITERAL(1, 11, 13), // "OnUpdateFrame"
QT_MOC_LITERAL(2, 25, 0), // ""
QT_MOC_LITERAL(3, 26, 48), // "rtc::scoped_refptr<webrtc::I4..."
QT_MOC_LITERAL(4, 75, 6) // "buffer"
},
"MainWindow\0OnUpdateFrame\0\0"
"rtc::scoped_refptr<webrtc::I420BufferInterface>&\0"
"buffer"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MainWindow[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, 0x80000000 | 3, 4,
0 // eod
};
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<MainWindow *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->OnUpdateFrame((*reinterpret_cast< rtc::scoped_refptr<webrtc::I420BufferInterface>(*)>(_a[1]))); break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
qt_meta_stringdata_MainWindow.data,
qt_meta_data_MainWindow,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *MainWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MainWindow::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@ -0,0 +1,12 @@
#define _MSC_EXTENSIONS
#define _MSC_VER 1929
#define _MSC_FULL_VER 192930140
#define _MSC_BUILD 0
#define _M_AMD64 100
#define _M_X64 100
#define _WIN64
#define _WIN32
#define _CPPRTTI
#define _DEBUG
#define _MT
#define _DLL

View File

@ -0,0 +1,142 @@
/****************************************************************************
** Meta object code from reading C++ file 'video_capture.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../src/video_capture.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'video_capture.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_VcmCapturer_t {
QByteArrayData data[5];
char stringdata0[81];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_VcmCapturer_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_VcmCapturer_t qt_meta_stringdata_VcmCapturer = {
{
QT_MOC_LITERAL(0, 0, 11), // "VcmCapturer"
QT_MOC_LITERAL(1, 12, 11), // "UpdateFrame"
QT_MOC_LITERAL(2, 24, 0), // ""
QT_MOC_LITERAL(3, 25, 48), // "rtc::scoped_refptr<webrtc::I4..."
QT_MOC_LITERAL(4, 74, 6) // "buffer"
},
"VcmCapturer\0UpdateFrame\0\0"
"rtc::scoped_refptr<webrtc::I420BufferInterface>&\0"
"buffer"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_VcmCapturer[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, 4,
0 // eod
};
void VcmCapturer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<VcmCapturer *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->UpdateFrame((*reinterpret_cast< rtc::scoped_refptr<webrtc::I420BufferInterface>(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (VcmCapturer::*)(rtc::scoped_refptr<webrtc::I420BufferInterface> & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&VcmCapturer::UpdateFrame)) {
*result = 0;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject VcmCapturer::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_VcmCapturer.data,
qt_meta_data_VcmCapturer,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *VcmCapturer::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *VcmCapturer::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_VcmCapturer.stringdata0))
return static_cast<void*>(this);
if (!strcmp(_clname, "VideoCapturerTest"))
return static_cast< VideoCapturerTest*>(this);
if (!strcmp(_clname, "rtc::VideoSinkInterface<webrtc::VideoFrame>"))
return static_cast< rtc::VideoSinkInterface<webrtc::VideoFrame>*>(this);
return QObject::qt_metacast(_clname);
}
int VcmCapturer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
// SIGNAL 0
void VcmCapturer::UpdateFrame(rtc::scoped_refptr<webrtc::I420BufferInterface> & _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@ -0,0 +1,97 @@
/****************************************************************************
** Meta object code from reading C++ file 'video_capturer_test.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../src/video_capturer_test.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'video_capturer_test.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_VideoCapturerTest_t {
QByteArrayData data[1];
char stringdata0[18];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_VideoCapturerTest_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_VideoCapturerTest_t qt_meta_stringdata_VideoCapturerTest = {
{
QT_MOC_LITERAL(0, 0, 17) // "VideoCapturerTest"
},
"VideoCapturerTest"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_VideoCapturerTest[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void VideoCapturerTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject VideoCapturerTest::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_VideoCapturerTest.data,
qt_meta_data_VideoCapturerTest,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *VideoCapturerTest::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *VideoCapturerTest::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_VideoCapturerTest.stringdata0))
return static_cast<void*>(this);
if (!strcmp(_clname, "rtc::VideoSourceInterface<webrtc::VideoFrame>"))
return static_cast< rtc::VideoSourceInterface<webrtc::VideoFrame>*>(this);
return QObject::qt_metacast(_clname);
}
int VideoCapturerTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@

QFrame#window {
border: 1px solid black;
font-style: normal;
background: rgb(239,242,245);
}

View File

@ -0,0 +1,65 @@
QWidget#qssTitleBar{
color: white;
background: rgb(51,101,177);
border: 0px;
margin: 0px;
}
QWidget#qssTitleBar > QPushButton#titlebaricon{
background: rgb(51,101,177);
width: 25px;
height:25px;
}
QWidget#qssTitleBar > QPushButton#titlebarclosebtn{
image: url(":/qss/icon/btn_close_down.svg");
background: rgb(51,101,177);
width: 25px;
height:25px;
margin-left: 1px;
}
QWidget#qssTitleBar >QPushButton#titlebarmaxbtn{
background: rgb(51,101,177);
width: 25px;
height:25px;
margin-left: 1px;
image: url(":/qss/icon/btn_max_normal.svg");
}
QWidget#qssTitleBar >QPushButton#titlebarclosebtn:enabled:hover{
background: red;
}
QWidget#qssTitleBar >QPushButton#titlebarminbtn{
image: url(":/qss/icon/btn_mini_down.svg");
background: rgb(51,101,177);
width: 25px;
height:25px;
margin-left: 1px;
}
QWidget#qssTitleBar >QPushButton#titlebarminbtn:enabled:hover{
background: rgb(187, 212, 238);
}
QWidget#qssTitleBar >QPushButton#titlebarrestorebtn{
image: url(":/qss/icon/btn_max_normal.svg");
background: rgb(187, 212, 238);
width: 25px;
height:25px;
margin-left: 1px;
margin-right: 2px;
}
QWidget#qssTitleBar >QPushButton#titlebarrestorebtn:enabled:hover{
background: rgb(187, 212, 238);
}
QWidget#qssTitleBar >QPushButton#btn_serial:!enabled {
background: rgb(180, 180, 180);
color: white;
}
QWidget#qssTitleBar >QPushButton#titlebarmaxbtn:enabled:hover{
background: rgb(100, 160, 220);
}
QWidget#qssTitleBar > QLabel#title{
color: white;
font-size: 13px;
font-family: monospace;
}

View File

@ -0,0 +1,149 @@

QPushButton:enabled {
background: rgb(22,155,213);
color: white;
border-radius:3px;
}
QPushButton:!enabled {
background: white;
color: black;
}
QPushButton:enabled:hover {
background: rgb(100, 160, 220);
}
QPushButton:enabled:pressed {
background: rgb(120, 170, 220);
}
QLabel{
}
/**********下拉列表**********/
QComboBox {
height: 25px;
border: 1px solid rgb(111, 156, 207);
background: white;
border-radius:3px;
}
QComboBox:enabled {
color: rgb(84, 84, 84);
}
QComboBox:!enabled {
color: rgb(80, 80, 80);
}
QComboBox:enabled:hover, QComboBox:enabled:focus {
color: rgb(51, 51, 51);
}
QComboBox::drop-down {
width: 20px;
border: none;
background: transparent;
}
QComboBox::drop-down:hover {
background: rgba(0, 0, 0, 30);
}
QComboBox::down-arrow {
image: url(:/qss/icon/combo_arrow.png);
max-height:30%;
max-width: 30%;
}
QComboBox::down-arrow:on {
top: 1px;
}
QComboBox QAbstractItemView {
border: 1px solid rgb(111, 156, 207);
background: white;
outline: none;
}
QComboBox QAbstractItemView::item {
height: 25px;
color: rgb(73, 73, 73);
}
QComboBox QAbstractItemView::item:selected {
background: rgb(232, 241, 250);
color: rgb(2, 65, 132);
}
QTabWidget{
margin-left:10;
background: rgb(239,242,245);
}
QTabWidget::pane {
border: none;
}
QTabWidget::tab-bar {
border: none;
}
QTabBar::tab {
border: none;
border-top-left-radius: 4px;
color: white;
background: rgb(239,242,245);
color: black;
height: 28px;
min-width: 85px;
margin-right: 5px;
}
QTabBar::tab:hover {
background: rgb(51,101,177);
}
QTabBar::tab:selected {
color: white;
background: rgb(51,101,177);
}
QTableView {
border: none;
}
QTableView::item {
padding-left: 5px;
padding-right: 5px;
background: white;
}
QTableView::item:selected {
border: 1px solid black;
color: rgb(65, 65, 65);
}
QTableView::item:selected:!active {
color: rgb(65, 65, 65);
}
QTableView::indicator {
border: 1px solid black;
width: 20px;
height: 20px;
}
QLineEdit {
border: 1px solid rgb(111, 156, 207);
background: white;
border-radius:3px;
}

View File

@ -0,0 +1,192 @@
QPushButton:enabled {
background: rgb(22,155,213);
color: white;
border-radius:3px;
}
QPushButton:!enabled {
background: white;
color: black;
}
QPushButton:enabled:hover {
background: rgb(100, 160, 220);
}
QPushButton:enabled:pressed {
background: rgb(120, 170, 220);
}
QPushButton#pushButton:enabled {
background: white;
color: black;
border-radius:3px;
}
QPushButton#pushButton:!enabled {
background: rgb(180, 180, 180);
color: white;
}
QPushButton#pushButton:enabled:hover{
background: rgb(100, 160, 220);
}
QPushButton#pushButton:enabled:pressed{
background: rgb(120, 170, 220);
}
QLabel{
font-size: 13px;
}
/**********ÏÂÀ­Áбí**********/
QComboBox {
height: 25px;
border: 1px solid rgb(111, 156, 207);
background: white;
border-radius:3px;
}
QComboBox:enabled {
color: rgb(84, 84, 84);
}
QComboBox:!enabled {
color: rgb(80, 80, 80);
}
QComboBox:enabled:hover, QComboBox:enabled:focus {
color: rgb(51, 51, 51);
}
QComboBox::drop-down {
width: 20px;
border: none;
background: transparent;
}
QComboBox::drop-down:hover {
background: rgba(0, 0, 0, 30);
}
QComboBox::down-arrow {
image: url(:/qss/icon/combo_arrow.png);
max-height:30%;
max-width: 30%;
}
QComboBox::down-arrow:on {
top: 1px;
}
QComboBox QAbstractItemView {
border: 1px solid rgb(111, 156, 207);
background: white;
outline: none;
}
QComboBox QAbstractItemView::item {
height: 25px;
color: rgb(73, 73, 73);
}
QComboBox QAbstractItemView::item:selected {
background: rgb(232, 241, 250);
color: rgb(2, 65, 132);
}
QTabWidget{
margin-left:10;
background: rgb(239,242,245);
}
QTabWidget::pane {
border: none;
}
QTabWidget::tab-bar {
border: none;
}
QTabBar::tab {
border: none;
border-top-left-radius: 4px;
color: white;
background: rgb(239,242,245);
color: black;
height: 28px;
min-width: 85px;
margin-right: 5px;
}
QTabBar::tab:hover {
background: rgb(51,101,177);
}
QTabBar::tab:selected {
color: white;
background: rgb(51,101,177);
}
QTableView {
border: 1px solid grey;
}
QTableView::item {
padding-left: 5px;
padding-right: 5px;
background: white;
}
QTableView::item:selected {
border: 1px solid black;
background: rgba(255, 255, 255, 30);
color: black;
}
QTableView::item:selected:!active {
color: rgb(65, 65, 65);
}
QTableView::indicator {
border: 1px solid black;
width: 20px;
height: 20px;
}
QTableView::indicator:enabled:unchecked {
image: url(:/White/checkBox);
}
QTableView::indicator:enabled:unchecked:hover {
image: url(:/White/checkBoxHover);
}
QTableView::indicator:enabled:unchecked:pressed {
image: url(:/White/checkBoxPressed);
}
QTableView::indicator:enabled:checked {
image: url(:/White/checkBoxChecked);
}
QTableView::indicator:enabled:checked:hover {
image: url(:/White/checkBoxCheckedHover);
}
QTableView::indicator:enabled:checked:pressed {
image: url(:/White/checkBoxCheckedPressed);
}
QTableView::indicator:enabled:indeterminate {
image: url(:/White/checkBoxIndeterminate);
}
QTableView::indicator:enabled:indeterminate:hover {
image: url(:/White/checkBoxIndeterminateHover);
}
QTableView::indicator:enabled:indeterminate:pressed {
image: url(:/White/checkBoxIndeterminatePressed);
}

View File

@ -0,0 +1,866 @@
/*
Colour scheme used:
- White (text): #eff0f1
- Dark black (main bg): #272a2d
- Lighter dark black (menu bar): #373b3f
- Dark blue: #18465d
- Gray: #76797C
- Red (accents): #db1c49
Useful reference on QSS:
- http://doc.qt.io/qt-5/stylesheet-reference.html#alternate-background-color-prop
Be sure to change all image urls to the appropriate folder on your system.
*/
QPushButton#btn_serial:enabled {
border-image: url(:/qss/icon/btn_serial.png);
background: rgb(120, 170, 220);
color: white;
margin-left: 10;
margin-top:5;
}
QPushButton#btn_serial:!enabled {
background: rgb(180, 180, 180);
color: white;
}
QPushButton#btn_serial:enabled:hover{
background: rgb(100, 160, 220);
}
QPushButton#btn_serial:enabled:pressed{
background: rgb(0, 78, 161);
}
QPushButton#btn_process:enabled {
background: rgb(120, 170, 220);
color: white;
margin-left: 5;
margin-top:5;
}
QPushButton#btn_process:!enabled {
background: rgb(180, 180, 180);
color: white;
}
QPushButton#btn_process:enabled:hover{
background: rgb(100, 160, 220);
}
QPushButton#btn_process:enabled:pressed{
background: rgb(0, 78, 161);
}
/*================================================================
QWidget
================================================================*/
QWidget {
color: #eff0f1;
background-color: #272a2d;
selection-background-color: #db1c49;
selection-color: #eff0f1;
}
QWidget::item:hover {
background-color: #18465d;
color: #eff0f1;
}
QWidget::item:selected {
background-color: #18465d;
}
/*================================================================
QCheckBox/QGroupBox
================================================================*/
QCheckBox {
spacing: 5px;
outline: none;
color: #eff0f1;
margin-bottom: 2px;
}
QCheckBox:disabled {
color: #76797C;
}
QCheckBox::indicator,
QGroupBox::indicator {
width: 18px;
height: 18px;
}
QGroupBox::indicator {
margin-left: 2px;
}
QCheckBox::indicator:unchecked {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_unchecked.png);
}
QCheckBox::indicator:unchecked:hover,
QCheckBox::indicator:unchecked:focus,
QCheckBox::indicator:unchecked:pressed,
QGroupBox::indicator:unchecked:hover,
QGroupBox::indicator:unchecked:focus,
QGroupBox::indicator:unchecked:pressed {
border: none;
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_unchecked_focus.png);
}
QCheckBox::indicator:checked {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_checked.png);
}
QCheckBox::indicator:checked:hover,
QCheckBox::indicator:checked:focus,
QCheckBox::indicator:checked:pressed,
QGroupBox::indicator:checked:hover,
QGroupBox::indicator:checked:focus,
QGroupBox::indicator:checked:pressed {
border: none;
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_checked_focus.png);
}
QCheckBox::indicator:indeterminate {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_indeterminate.png);
}
QCheckBox::indicator:indeterminate:focus,
QCheckBox::indicator:indeterminate:hover,
QCheckBox::indicator:indeterminate:pressed {
image: url(C:/Users/franc/AppData/Roaming/TeXstudio/rc/checkbox_indeterminate_focus.png);
}
QCheckBox::indicator:checked:disabled,
QGroupBox::indicator:checked:disabled {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_checked_disabled.png);
}
QCheckBox::indicator:unchecked:disabled,
QGroupBox::indicator:unchecked:disabled {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_unchecked_disabled.png);
}
/*================================================================
QMenuBar - e.g. Main toolbar (file/edit/idefix etc.)
================================================================*/
QMenuBar {
color: #eff0f1;
background-color: #373b3f;
}
QMenuBar::item {
background: transparent;
}
/*================================================================
QMenu
================================================================*/
QMenu {
border: 1px solid #76797C;
color: #eff0f1;
margin: 2px;
}
QMenu::separator {
height: 2px;
background: #76797C;
margin-left: 5px;
margin-right: 5px;
}
/*================================================================
QToolbar
================================================================*/
QToolBar {
border: 1px solid #393838;
background: 1px solid #272a2d;
font-weight: bold;
}
QToolBar::handle:horizontal {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/Hmovetoolbar.png);
}
QToolBar::handle:vertical {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/Vmovetoolbar.png);
}
QToolBar::separator:horizontal {
width: 2px;
margin: 3px 10px;
background-color: #76797C;
}
QToolBar::separator:vertical {
height: 2px;
margin: 10px 3px;
background-color: #76797C;
}
/*================================================================
QScrollBar - e.g. Scrollbar in internal PDFviewer, editor window etc.
================================================================*/
QScrollBar:horizontal {
height: 25px;
margin: 3px 27px 3px 27px;
border: 1px transparent #2A2929;
border-radius: 4px;
background-color: #000000;
}
QScrollBar::handle:horizontal {
background-color: #76797C;
min-width: 15px;
border-radius: 4px;
}
QScrollBar::add-line:horizontal {
margin: 0px 3px 0px 3px;
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/right_arrow_disabled.png);
width: 20px;
height: 20px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal {
margin: 0px 3px 0px 3px;
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/left_arrow_disabled.png);
height: 20px;
width: 20px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::add-line:horizontal:hover,
QScrollBar::add-line:horizontal:on {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/right_arrow.png);
height: 20px;
width: 20px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal:hover,
QScrollBar::sub-line:horizontal:on {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/left_arrow.png);
height: 20px;
width: 20px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:horizontal,
QScrollBar::down-arrow:horizontal {
background: none;
}
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:horizontal {
background: none;
}
QScrollBar:vertical {
background-color: #000000;
width: 25px;
margin: 27px 3px 27px 3px;
border: 1px solid #2A2929;
border-radius: 4px;
}
QScrollBar::handle:vertical {
background-color: #76797C;
min-height: 15px;
border-radius: 4px;
}
QScrollBar::sub-line:vertical {
margin: 3px 0px 3px 0px;
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/up_arrow_disabled.png);
height: 20px;
width: 20px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical {
margin: 3px 0px 3px 0px;
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/down_arrow_disabled.png);
height: 20px;
width: 20px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical:hover,
QScrollBar::sub-line:vertical:on {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/up_arrow.png);
height: 20px;
width: 20px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical:hover,
QScrollBar::add-line:vertical:on {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/down_arrow.png);
height: 20px;
width: 20px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical,
QScrollBar::down-arrow:vertical {
background: none;
}
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical {
background: none;
}
/*================================================================
QTabBar - e.g. File tabs (top), Bottom panel tabs (top), Autocompleter window tabs (bottom)
================================================================*/
QTabBar {
qproperty-drawBase: 0; /* important */
background-color: transparent;
}
/* <FIX> Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */
QTabBar {
border-top: 1px transparent #76797C; /* set color for all QTabBars */
}
QDialog QTabBar {
border-color: transparent; /* set color for QTabBars inside Preferences dialog */
}
/* </FIX> */
QTabBar::close-button {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close.png);
background: transparent;
margin-top: 6px;
margin-bottom: 6px;
}
QTabBar::close-button:hover {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close-hover.png);
background: transparent;
margin-top: 6px;
margin-bottom: 6px;
}
QTabBar::close-button:pressed {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close-pressed.png);
background: transparent;
margin-top: 6px;
margin-bottom: 6px;
}
/* TOP TABS */
QTabBar::tab:top {
color: #eff0f1;
border: 1px solid #76797C;
border-bottom: 1px transparent black;
background-color: #31363b;
padding: 5px;
min-width: 50px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
QTabBar::tab:top:selected {
color: #eff0f1;
background-color: #54575B;
border: 2px solid #76797C;
border-bottom: 3px solid #3daee9;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
QTabBar::tab:top:!selected:hover {
background-color: #18465d;
}
/* BOTTOM TABS */
QTabBar::tab:bottom {
color: #eff0f1;
border: 1px solid #76797C;
border-top: 1px transparent black;
background-color: #31363b;
padding: 5px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
min-width: 50px;
}
QTabBar::tab:bottom:selected {
color: #eff0f1;
background-color: #54575B;
border: 2px solid #76797C;
border-top: 3px solid #3daee9;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
QTabBar::tab:bottom:!selected:hover {
background-color: #18465d;
}
/*================================================================
QDockWidget - e.g. "Search" header in internal PDF viewer
================================================================*/
QDockWidget {
titlebar-close-icon: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
titlebar-normal-icon: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
}
QDockWidget::title {
background: #373b3f;
color: transparent;
border: 1px transparent;
text-align: left;
}
QDockWidget::close-button,
QDockWidget::float-button {
border: transparent;
padding: 0px;
icon-size: 25px;
background: transparent;
}
QDockWidget::float-button {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/undock.png);
subcontrol-position: right center;
left: -50px;
}
QDockWidget::close-button {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close.png);
subcontrol-position: right center;
left: -10px;
}
QDockWidget::float-button:hover {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/undock-pressed.png);
subcontrol-position: right center;
left: -50px;
}
QDockWidget::close-button:hover {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close-pressed.png);
subcontrol-position: right center;
left: -10px;
}
QDockWidget::close-button:pressed {
padding: 2px -2px -2px 2px;
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/close-pressed.png);
}
QDockWidget::float-button:pressed {
padding: 2px -2px -2px 2px;
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/undock-pressed.png);
}
QDockWidget QListView {
outline: 0;
background: #272a2d;
alternate-background-color: #373b3f;
color: #eff0f1;
}
/*================================================================
QTreeView, QListView
================================================================*/
QTreeView,
QListView {
border: 1px solid #76797C;
background-color: #232629;
}
QTreeView:branch:selected,
QTreeView:branch:hover {
background: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
}
QTreeView::branch:has-siblings:!adjoins-item {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
}
QTreeView::branch:has-siblings:adjoins-item {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
border-image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/transparent.png);
}
QTreeView::branch:has-children:!has-siblings:closed,
QTreeView::branch:closed:has-children:has-siblings {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/branch_closed.png);
}
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/branch_open.png);
}
QTreeView::branch:has-children:!has-siblings:closed:hover,
QTreeView::branch:closed:has-children:has-siblings:hover {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/branch_closed-on.png);
}
QTreeView::branch:open:has-children:!has-siblings:hover,
QTreeView::branch:open:has-children:has-siblings:hover {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/branch_open-on.png);
}
QListView::item:!selected:hover,
QTreeView::item:!selected:hover {
background: #18465d;
outline: 0;
color: #eff0f1;
}
QListView::item:selected:hover,
QTreeView::item:selected:hover {
background: #287399;
color: #eff0f1;
}
QTreeView::indicator:checked,
QListView::indicator:checked {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_checked.png);
}
QTreeView::indicator:unchecked,
QListView::indicator:unchecked {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_unchecked.png);
}
QTreeView::indicator:checked:hover,
QTreeView::indicator:checked:focus,
QTreeView::indicator:checked:pressed,
QListView::indicator:checked:hover,
QListView::indicator:checked:focus,
QListView::indicator:checked:pressed {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_checked_focus.png);
}
QTreeView::indicator:unchecked:hover,
QTreeView::indicator:unchecked:focus,
QTreeView::indicator:unchecked:pressed,
QListView::indicator:unchecked:hover,
QListView::indicator:unchecked:focus,
QListView::indicator:unchecked:pressed {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/checkbox_unchecked_focus.png);
}
/*================================================================
QPushButton
================================================================*/
QPushButton {
color: #eff0f1;
background-color: #31363b;
border-width: 1px;
border-color: #76797C;
border-style: solid;
padding: 5px;
border-radius: 2px;
outline: none;
}
QPushButton:disabled {
background-color: #31363b;
border-width: 1px;
border-color: #454545;
border-style: solid;
padding-top: 5px;
padding-bottom: 5px;
padding-left: 10px;
padding-right: 10px;
border-radius: 2px;
color: #454545;
}
QPushButton:hover,
QPushButton:focus {
background-color: #18465d;
color: #ffffff;
}
QPushButton:pressed {
background-color: #18465d;
padding-top: -15px;
padding-bottom: -17px;
}
QPushButton:checked {
background-color: #76797C;
border-color: #6A6969;
}
/*================================================================
QToolButton - e.g. Reset pushbutton in GUI scaling, toolbar buttons
================================================================*/
QToolButton {
text-align: center;
}
/*================================================================
QComboBox
================================================================*/
QComboBox {
selection-background-color: #db1c49;
border: 1px solid #76797C;
border-radius: 2px;
padding: 5px;
min-width: 75px;
}
QComboBox:hover,
QPushButton:hover,
QAbstractSpinBox:hover,
QLineEdit:hover,
QTextEdit:hover,
QPlainTextEdit:hover,
QAbstractView:hover,
QTreeView:hover {
border: 1px solid #3daee9;
color: #eff0f1;
}
QComboBox:on {
padding-top: 3px;
padding-left: 4px;
selection-background-color: #4a4a4a;
}
QComboBox QAbstractItemView {
background-color: #232629;
border-radius: 2px;
border: 1px solid #76797C;
selection-background-color: #18465d;
}
QComboBox::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 35px;
border-left-width: 0px;
border-left-color: darkgray;
border-left-style: solid;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
QComboBox::down-arrow {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/down_arrow_disabled.png);
}
QComboBox::down-arrow:on,
QComboBox::down-arrow:hover,
QComboBox::down-arrow:focus {
image: url(C:/Users/user/AppData/Roaming/TeXstudio/rc/down_arrow.png);
}
/*================================================================
QLineEdit - e.g. Search textbox in internal pdf viewer
================================================================*/
QLineEdit {
selection-background-color: #db1c49;
border: 1px solid #76797C;
}
/*================================================================
QHeaderView
================================================================*/
QHeaderView {
background-color: #31363b;
border: 1px transparent;
border-radius: 0px;
margin: 0px;
padding: 0px;
}
QHeaderView::section {
background-color: #31363b;
color: #eff0f1;
padding: 5px;
border: 1px solid #76797C;
border-radius: 0px;
text-align: center;
}
QHeaderView::section::vertical::first,
QHeaderView::section::vertical::only-one {
border-top: 1px solid #76797C;
}
QHeaderView::section::vertical {
border-top: transparent;
}
QHeaderView::section::horizontal::first,
QHeaderView::section::horizontal::only-one {
border-left: 1px solid #76797C;
}
QHeaderView::section::horizontal {
border-left: transparent;
}
QHeaderView::section:checked {
color: #ffffff;
background-color: #31363B;
}
/*================================================================
QTableWidget
================================================================*/
QTableWidget {
background-color: #373b3f; /*#232629;*/
gridline-color: yellow; /*#31363b;*/
}
QTableWidget::item {
outline-style: none;
color: #eff0f1;
background: #31363b;
border: none;
border-bottom: 1px solid #31363b;
}
/*================================================================
QTableView - e.g. configMenu()->Syntax highlighting table
================================================================*/
QTableView {
border: 1px solid #76797C;
gridline-color: #31363b;
background-color: #232629;
}
QTableView,
QHeaderView {
border-radius: 0px;
}
QTableView::item:hover {
background: #18465d;
}
QTableView::item:pressed,
QListView::item:pressed,
QTreeView::item:pressed {
background: #18465d;
color: #eff0f1;
}
QTableView::item:selected:active,
QTreeView::item:selected:active,
QListView::item:selected:active {
background: #287399;
color: #eff0f1;
}
QTableCornerButton::section {
background-color: #31363b;
border: 1px transparent #76797C;
border-radius: 0px;
}
/*================================================================
QDialog - e.g. config menu, About TXS window, Wizards
================================================================*/
QDialog {
background-color: #373b3f;
}
QDialog QCheckBox,
QDialog QLabel {
background-color: transparent;
}
QDialog QToolButton { /*Same as QPushButton*/
color: #eff0f1;
background-color: #31363b;
border-width: 1px;
border-color: #76797C;
border-style: solid;
padding: 5px;
border-radius: 2px;
outline: none;
}
QDialog QToolButton:hover,
QDialog QToolButton:focus { /*Same as QPushButton*/
background-color: #18465d;
color: #ffffff;
}
QDialog QToolButton:pressed { /*Same as QPushButton*/
background-color: #18465d;
padding-top: -15px;
padding-bottom: -17px;
}
/* <FIX> Specific to table in "configMenu->Syntax highlighting" (hopefully) */
QDialog QTableWidget::item,
QDialog QTableView::item:hover { /* Turn off hover colour for cells -- it's distracting */
background-color: #31363b;
}
/* </FIX> */
/*================================================================
QSlider - e.g. GUI scaling settings
================================================================*/
QSlider,
QSlider:active,
QSlider:!active {
border: none;
background-color: transparent;
}
QSlider::groove:horizontal {
height: 12px;
}
QSlider::groove:vertical {
width: 12px;
}
QSlider::handle:horizontal,
QSlider::handle:vertical {
background-color: #db1c49;
border: 1px solid #db1c49;
width: 10px;
height: 15px;
border-radius: 8px;
}
QSlider::handle:horizontal:hover,
QSlider::handle:vertical:hover,
QSlider::handle:horizontal:pressed,
QSlider::handle:vertical:pressed {
border: 1px solid #A21538;
background-color: #A21538;
}
/*================================================================
QToolTip - e.g. popup upon hovering on filename tabs
================================================================*/
QToolTip {
border: 1px solid #272a2d;
background-color: #373b3f;
color: white;
padding: 0px; /*remove padding, for fix combobox tooltip.*/
}

View File

@ -0,0 +1,45 @@

QTabBar{
background: rgb(22,155,213);
}
QTabBar::tab {
border: none;
border-top-left-radius: 4px;
color: white;
background: rgb(239,242,245);
color: black;
height: 28px;
min-width: 85px;
margin-right: 5px;
}
QTabBar::tab:hover {
background: rgb(51,101,177);
}
QTabBar::tab:selected {
color: white;
background: rgb(51,101,177);
}
QPushButton:enabled {
background: rgb(22,155,213);
color: white;
border-radius:3px;
}
QPushButton:!enabled {
background: white;
color: black;
}
QPushButton:enabled:hover {
background: rgb(100, 160, 220);
}
QPushButton:enabled:pressed {
background: rgb(120, 170, 220);
}

View File

@ -0,0 +1,779 @@
QDialog{
border: 1px solid rgb(rgb(0, 78, 161));
padding: 5px;
background: rgb(232, 241, 252);
}
QMainWindow{
border: none;
background: rgb(255, 255, 255);
}
QMainWindow::title{
text-align: right; /* align the text to the left */
background: rgb(7,71,166);
padding-left: 5px;
}
QWidget {
/* font-size: 10px;*/
}
QDockWidget{
background: rgb(187, 212, 238);
}
/*QFrame#window{
background: rgba(244,245,247,100);
}*/
QWidget#remoteWidget {
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
border: 1px solid rgb(111, 156, 207);
border-left: none;
background: transparent;
}
StyledWidget {
qproperty-normalColor: rgb(65, 65, 65);
qproperty-disableColor: rgb(180, 180, 180);
qproperty-highlightColor: rgb(0, 160, 230);
qproperty-errorColor: red;
}
QProgressIndicator {
qproperty-color: rgb(2, 65, 132);
}
/**********提示**********/
QToolTip{
border: 1px solid rgb(111, 156, 207);
background: white;
color: rgb(51, 51, 51);
}
/**********菜单栏**********/
QMenuBar {
/* background: rgb(7,71,166);*/
border: 1px solid rgb(111, 156, 207);
border-left: none;
border-right: none;
}
QMenuBar::item {
border: 1px solid transparent;
padding: 5px 10px 5px 10px;
height : 30px;
background: "white";
text-aligin: center;
font-size: 20px;;
}
QMenuBar::item:enabled {
font-size: 20px;;
background: rgb(198, 224, 252);
}
QMenuBar::item:!enabled {
font-size: 20px;;
background: rgb(198, 224, 252);
}
QMenuBar::item:enabled:selected {
font-size: 20px;;
background: rgb(198, 224, 252);
}
/**********菜单**********/
QMenu {
border: 1px solid rgb(2, 65, 132);
background: rgb(232, 241, 250);
height : 50px;
}
QssMessageBox#messagebox{
background: rgb(0, 0, 250);
}
QMenu::item {
height: 22px;
padding: 0px 25px 0px 20px;
}
QMenu::item:enabled {
color: rgb(84, 84, 84);
}
QMenu::item:!enabled {
color: rgb(155, 155, 155);
}
QMenu::item:enabled:selected {
color: rgb(2, 65, 132);
background: rgba(255, 255, 255, 200);
}
QMenu::separator {
height: 1px;
background: rgb(111, 156, 207);
}
QMenu::indicator {
width: 13px;
height: 13px;
}
QMenu::icon {
padding-left: 2px;
padding-right: 2px;
}
/**********状态栏**********/
QStatusBar {
background: rgb(111, 156, 207);
border: 1px solid rgb(111, 156, 207);
border-left: none;
border-right: none;
border-bottom: none;
}
QStatusBar::item {
border: none;
border-right: 1px solid rgb(111, 156, 207);
}
/**********分组框**********/
QGroupBox {
border: 1px solid rgb(111, 156, 207);
border-radius: 4px;
margin-top: 10px;
}
QGroupBox::title {
color: rgb(56, 99, 154);
top: -12px;
left: 10px;
}
QTabWidget{
margin-left:10;
}
/**********页签项**********/
QTabWidget::pane {
border: none;
border-top: 3px solid rgb(0, 78, 161);
background: rgb(187, 212, 238);
}
QTabWidget::tab-bar {
border: none;
}
QTabBar::tab {
border: none;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
color: white;
background: rgb(120, 170, 220);
height: 28px;
min-width: 85px;
margin-right: 5px;
padding-left: 5px;
padding-right: 5px;
}
QTabBar::tab:hover {
background: rgb(0, 78, 161);
}
QTabBar::tab:selected {
color: white;
background: rgb(0, 78, 161);
}
QTabWidget#tabWidget::pane {
border: 1px solid rgb(111, 156, 207);
background: rgb(232, 241, 252);
margin-top: -1px;
}
QTabBar#tabBar::tab {
border: 1px solid rgb(111, 156, 207);
border-bottom: none;
color: rgb(70, 71, 73);
background: transparent;
}
QTabBar#tabBar::tab:hover {
color: rgb(2, 65, 132);
}
QTabBar#tabBar::tab:selected {
color: rgb(2, 65, 132);
background: rgb(232, 241, 252);
}
/**********表头**********/
QHeaderView{
border: 1px solid black;
border-bottom: 3px solid rgb(0, 78, 161);
background: transparent;
min-height: 30px;
}
QHeaderView::section:horizontal {
border: none;
color: rgb(2, 65, 132);
background: transparent;
padding-left: 5px;
}
QHeaderView::section:horizontal:hover {
color: white;
background: rgb(0, 78, 161);
}
QHeaderView::section:horizontal:pressed {
color: white;
background: rgb(6, 94, 187);
}
QHeaderView::up-arrow {
width: 13px;
height: 11px;
padding-right: 5px;
image: url(:/White/topArrow);
subcontrol-position: center right;
}
QHeaderView::up-arrow:hover, QHeaderView::up-arrow:pressed {
image: url(:/White/topArrowHover);
}
QHeaderView::down-arrow {
width: 13px;
height: 11px;
padding-right: 5px;
image: url(:/White/bottomArrow);
subcontrol-position: center right;
}
QHeaderView::down-arrow:hover, QHeaderView::down-arrow:pressed {
image: url(:/White/bottomArrowHover);
}
/**********TreeView**********/
QTreeView::item {
height: 25px;
border-right: 0.5px solid grey;
background: transparent;
}
QTreeView::item:hover {
background : #DBDBDB;
}
QTreeView::item:selected {
background : grey;
}
/**********表格**********/
QTableView {
border: 1px solid grey;
background: rgb(224, 238, 255);
gridline-color: rgb(111, 156, 207);
}
QTableView::item {
padding-left: 5px;
padding-right: 5px;
border: 1px solid black;
background: white;
}
QTableView::item:selected {
border: 1px solid black;
background: rgba(255, 255, 255, 30);
}
QTableView::item:selected:!active {
color: rgb(65, 65, 65);
}
QTableView::indicator {
border: 1px solid black;
width: 20px;
height: 20px;
}
QTableView::indicator:enabled:unchecked {
image: url(:/White/checkBox);
}
QTableView::indicator:enabled:unchecked:hover {
image: url(:/White/checkBoxHover);
}
QTableView::indicator:enabled:unchecked:pressed {
image: url(:/White/checkBoxPressed);
}
QTableView::indicator:enabled:checked {
image: url(:/White/checkBoxChecked);
}
QTableView::indicator:enabled:checked:hover {
image: url(:/White/checkBoxCheckedHover);
}
QTableView::indicator:enabled:checked:pressed {
image: url(:/White/checkBoxCheckedPressed);
}
QTableView::indicator:enabled:indeterminate {
image: url(:/White/checkBoxIndeterminate);
}
QTableView::indicator:enabled:indeterminate:hover {
image: url(:/White/checkBoxIndeterminateHover);
}
QTableView::indicator:enabled:indeterminate:pressed {
image: url(:/White/checkBoxIndeterminatePressed);
}
/**********滚动条-水平**********/
QScrollBar:horizontal {
height: 20px;
background: transparent;
margin-top: 3px;
margin-bottom: 3px;
}
QScrollBar::handle:horizontal {
height: 20px;
min-width: 30px;
background: rgb(170, 200, 230);
margin-left: 15px;
margin-right: 15px;
}
QScrollBar::handle:horizontal:hover {
background: rgb(165, 195, 225);
}
QScrollBar::sub-line:horizontal {
width: 15px;
background: transparent;
image: url(:/White/arrowLeft);
subcontrol-position: left;
}
QScrollBar::add-line:horizontal {
width: 15px;
background: transparent;
image: url(:/White/arrowRight);
subcontrol-position: right;
}
QScrollBar::sub-line:horizontal:hover {
background: rgb(170, 200, 230);
}
QScrollBar::add-line:horizontal:hover {
background: rgb(170, 200, 230);
}
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {
background: transparent;
}
/**********滚动条-垂直**********/
QScrollBar:vertical {
width: 20px;
background: transparent;
margin-left: 3px;
margin-right: 3px;
}
QScrollBar::handle:vertical {
width: 20px;
min-height: 30px;
background: rgb(170, 200, 230);
margin-top: 15px;
margin-bottom: 15px;
}
QScrollBar::handle:vertical:hover {
background: rgb(165, 195, 225);
}
QScrollBar::sub-line:vertical {
height: 15px;
background: transparent;
image: url(:/White/topArrow);
subcontrol-position: top;
}
QScrollBar::add-line:vertical {
height: 15px;
background: transparent;
image: url(:/White/bottomArrow);
subcontrol-position: bottom;
}
QScrollBar::sub-line:vertical:hover {
background: rgb(170, 200, 230);
}
QScrollBar::add-line:vertical:hover {
background: rgb(170, 200, 230);
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: transparent;
}
QScrollBar#verticalScrollBar:vertical {
margin-top: 30px;
}
/**********下拉列表**********/
QComboBox {
height: 25px;
border: 1px solid rgb(111, 156, 207);
background: white;
}
QComboBox:enabled {
color: rgb(84, 84, 84);
}
QComboBox:!enabled {
color: rgb(80, 80, 80);
}
QComboBox:enabled:hover, QComboBox:enabled:focus {
color: rgb(51, 51, 51);
}
QComboBox::drop-down {
width: 20px;
border: none;
background: transparent;
}
QComboBox::drop-down:hover {
background: rgba(0, 0, 0, 30);
}
QComboBox::down-arrow {
image: url(:/qss/icon/combo_arrow.png);
max-height:100%;
max-width:100%;
}
QComboBox::down-arrow:on {
top: 1px;
}
QComboBox QAbstractItemView {
border: 1px solid rgb(111, 156, 207);
background: white;
outline: none;
}
QComboBox QAbstractItemView::item {
height: 25px;
color: rgb(73, 73, 73);
}
QComboBox QAbstractItemView::item:selected {
background: rgb(232, 241, 250);
color: rgb(2, 65, 132);
}
/**********进度条**********/
QProgressBar{
border: black;
text-align: center;
color: white;
background: rgb(173, 202, 232);
}
QProgressBar::chunk {
background: rgb(16, 135, 209);
}
QProgressBar {
border: rgb(173, 202, 232);
text-align: center;
color: light;
background-color: transparent;
background-image: rgb(173, 202, 232);
background-repeat: repeat-x;
}
QProgressBar::chunk {
border: none;
background-color:rgb(173, 202, 232);
background-repeat: repeat-x;
}
/**********复选框**********/
QCheckBox{
spacing: 5px;
}
QCheckBox:enabled:checked{
color: rgb(2, 65, 132);
}
QCheckBox:enabled:!checked{
color: rgb(70, 71, 73);
}
QCheckBox:enabled:hover{
color: rgb(0, 78, 161);
}
QCheckBox:!enabled{
color: rgb(80, 80, 80);
}
QCheckBox::indicator {
width: 20px;
height: 20px;
}
QCheckBox::indicator:unchecked {
image: url(:/qss/icon/checkbox.png);
}
QCheckBox::indicator:unchecked:hover {
image: url(:/qss/icon/checkbox_h.png);
}
QCheckBox::indicator:unchecked:pressed {
image: url(:/qss/icon/checkbox_p.png);
}
QCheckBox::indicator:checked {
image: url(:/qss/icon/check_box_p.png);
}
QCheckBox::indicator:checked:hover {
image: url(:/qss/icon/check_box_p.png);
}
QCheckBox::indicator:checked:pressed {
image: url(:/qss/icon/check_box_p.png);
}
QCheckBox::indicator:indeterminate {
image: url(:/qss/icon/check_box_p.png);
}
QCheckBox::indicator:indeterminate:hover {
image: url(:/qss/icon/check_box_p.png);
}
QCheckBox::indicator:indeterminate:pressed {
image: url(:/qss/icon/check_box_p.png);
}
/**********单选框**********/
QRadioButton{
spacing: 5px;
}
QRadioButton:enabled:checked{
color: rgb(2, 65, 132);
}
QRadioButton:enabled:!checked{
color: rgb(70, 71, 73);
}
QRadioButton:enabled:hover{
color: rgb(0, 78, 161);
}
QRadioButton:!enabled{
color: rgb(80, 80, 80);
}
QRadioButton::indicator {
width: 20px;
height: 20px;
}
QRadioButton::indicator:unchecked {
image: url(:/White/radioButton);
}
QRadioButton::indicator:unchecked:hover {
image: url(:/White/radioButtonHover);
}
QRadioButton::indicator:unchecked:pressed {
image: url(:/White/radioButtonPressed);
}
QRadioButton::indicator:checked {
image: url(:/White/radioButtonChecked);
}
QRadioButton::indicator:checked:hover {
image: url(:/White/radioButtonCheckedHover);
}
QRadioButton::indicator:checked:pressed {
image: url(:/White/radioButtonCheckedPressed);
}
/**********输入框**********/
QLineEdit {
border-radius: 4px;
height: 25px;
border: 1px solid rgb(111, 156, 207);
background: white;
}
QLineEdit:enabled {
color: rgb(84, 84, 84);
}
QLineEdit:enabled:hover, QLineEdit:enabled:focus {
color: rgb(51, 51, 51);
}
QLineEdit:!enabled {
color: rgb(80, 80, 80);
}
/**********文本编辑框**********/
QTextEdit {
border: 1px solid rgb(111, 156, 207);
color: rgb(70, 71, 73);
background: rgb(187, 212, 238);
}
/**********滚动区域**********/
QScrollArea {
border: 1px solid rgb(111, 156, 207);
background: rgb(187, 212, 238);
}
/**********滚动区域**********/
QWidget#transparentWidget {
background: transparent;
}
/**********微调器**********/
QSpinBox {
border-radius: 4px;
height: 24px;
min-width: 40px;
border: 1px solid rgb(111, 156, 207);
background: white;
}
QSpinBox:enabled {
color: rgb(60, 60, 60);
}
QSpinBox:enabled:hover, QSpinBox:enabled:focus {
color: rgb(51, 51, 51);
}
QSpinBox:!enabled {
color: rgb(210, 210, 210);
background: transparent;
}
QSpinBox::up-button {
border-left: 1px solid rgb(111, 156, 207);
width: 18px;
height: 12px;
border-top-right-radius: 4px;
image: url(:/White/upButton);
}
QSpinBox::up-button:!enabled {
background: transparent;
}
QSpinBox::up-button:enabled:hover {
background: rgb(255, 255, 255, 30);
}
QSpinBox::down-button {
border-left: 1px solid rgb(111, 156, 207);
width: 18px;
height: 12px;
border-bottom-right-radius: 4px;
image: url(:/White/downButton);
}
QSpinBox::down-button:!enabled {
background: transparent;
}
QSpinBox::down-button:hover {
background: rgb(255, 255, 255, 30);
}
QLabel#label_3{
font-size: 20px;
background-color: rgb(255, 255, 255, 30);
color : light;
}
QDockWidget *{
}
/**********标签**********/
QLabel#grayLabel {
color: rgb(70, 71, 73);
}
QLabel#highlightLabel {
color: rgb(2, 65, 132);
}
QLabel#redLabel {
color: red;
}
QLabel#grayYaHeiLabel {
color: rgb(175, 175, 175);
font-size: 15px;
}
QLabel#blueLabel {
color: rgb(0, 160, 230);
}
QLabel#listLabel {
color: rgb(51, 51, 51);
}
QLabel#lineBlueLabel {
background: rgb(0, 78, 161);
}
QLabel#graySeperateLabel {
background: rgb(200, 220, 230);
}
QLabel#seperateLabel {
background: rgb(112, 153, 194);
}
QLabel#radiusBlueLabel {
border-radius: 15px;
color: white;
font-size: 18px;
background: rgb(0, 78, 161);
}
QLabel#skinLabel[colorProperty="normal"] {
color: rgb(56, 99, 154);
}
QLabel#skinLabel[colorProperty="highlight"] {
color: rgb(0, 160, 230);
}
QLabel#informationLabel {
qproperty-pixmap: url(:/White/information);
}
QLabel#errorLabel {
qproperty-pixmap: url(:/White/error);
}
QLabel#successLabel {
qproperty-pixmap: url(:/White/success);
}
QLabel#questionLabel {
qproperty-pixmap: url(:/White/question);
}
QLabel#warningLabel {
qproperty-pixmap: url(:/White/warning);
}
QLabel#groupLabel {
color: rgb(56, 99, 154);
border: 1px solid rgb(111, 156, 207);
font-size: 15px;
border-top-color: transparent;
border-right-color: transparent;
border-left-color: transparent;
}
/**********按钮**********/
QToolButton#nsccButton {
border: none;
color: rgb(2, 65, 132);
background: transparent;
padding: 10px;
qproperty-icon: url(:/White/nscc);
qproperty-iconSize: 32px 32px;
qproperty-toolButtonStyle: ToolButtonTextUnderIcon;
}
QToolButton#nsccButton:hover {
background: rgb(187, 212, 238);
}
QToolButton#transferButton {
border: none;
color: rgb(2, 65, 132);
background: transparent;
padding: 10px;
qproperty-icon: url(:/White/transfer);
qproperty-iconSize: 32px 32px;
qproperty-toolButtonStyle: ToolButtonTextUnderIcon;
}
QToolButton#transferButton:hover {
background: rgb(187, 212, 238);
}
/**********按钮**********/
QPushButton{
border: none; /*去除边框*/
font-size: 15px;
}
QPushButton:enabled {
background: rgb(0, 78, 161);
color: white;
}
QPushButton:!enabled {
background: rgb(180, 180, 180);
color: white;
}
QPushButton:enabled:hover{
background: rgb(100, 160, 220);
}
QPushButton:enabled:pressed{
background: rgb(120, 170, 220);
}

View File

@ -0,0 +1,6 @@
QWidget#save_data_form
{
background: "white";
border:1px solid black;
}

View File

@ -0,0 +1,46 @@
QWidget#vibration_comparison_form
{
border: 1px solid black;
}
QWidget#vibration_comparison_form QLabel#label
{
}
QWidget#vibration_comparison_form QComboBox#comboBox
{
border-radius:3px;
}
QWidget#vibration_comparison_form QComboBox#comboBox_2
{
border-radius:3px;
}
QWidget#vibration_comparison_form QLabel#label_2
{
}
QWidget#vibration_comparison_form QComboBox#comboBox_3
{
border-radius:3px;
}
QWidget#vibration_comparison_form QComboBox#comboBox_4
{
border-radius:3px;
}
QWidget#vibration_comparison_form QPushButton#pushButton
{
width: 24px;
}
QWidget#vibration_comparison_form QPushButton#pushButton_2
{
width: 24px;
}
QWidget#vibration_comparison_form QLabel#label_3
{
}
QWidget#vibration_comparison_form QRadioButton#radioButton
{
}
QWidget#vibration_comparison_form QGraphicsView#graphicsView
{
}

View File

@ -0,0 +1,303 @@
/* * The MIT License (MIT) * * Copyright : http://blog.csdn.net/liang19890820 * * Author : 一去丶二三里 * * Date : 2016/07/22 * * Description : 白色靓丽 * */
/**********子界面背景**********/
QWidget#customWidget { background: rgb(173, 202, 232); }
/**********子界面中央背景**********/
QWidget#centerWidget { background: rgb(232, 241, 252); }
/**********主界面样式**********/
QWidget#mainWindow { border: 1px solid rgb(111, 156, 207); background: rgb(232, 241, 252); }
QWidget#messageWidget { background: rgba(173, 202, 232, 50%); }
QWidget#loadingWidget { border: none; border-radius: 5px; background: rgb(187, 212, 238); }
QWidget#remoteWidget { border-top-right-radius: 10px; border-bottom-right-radius: 10px; border: 1px solid rgb(111, 156, 207); border-left: none; background: transparent; }
StyledWidget { qproperty-normalColor: rgb(65, 65, 65); qproperty-disableColor: rgb(180, 180, 180); qproperty-highlightColor: rgb(0, 160, 230); qproperty-errorColor: red; }
QProgressIndicator { qproperty-color: rgb(2, 65, 132); }
/**********提示**********/
QToolTip{ border: 1px solid rgb(111, 156, 207); background: white; color: rgb(51, 51, 51); }
/**********菜单栏**********/
QMenuBar { background: rgb(187, 212, 238); border: 1px solid rgb(111, 156, 207); border-left: none; border-right: none; }
QMenuBar::item { border: 1px solid transparent; padding: 5px 10px 5px 10px; background: transparent; }
QMenuBar::item:enabled { color: rgb(2, 65, 132); }
QMenuBar::item:!enabled { color: rgb(155, 155, 155); }
QMenuBar::item:enabled:selected { border-top-color: rgb(111, 156, 207); border-bottom-color: rgb(111, 156, 207); background: rgb(198, 224, 252); }
/**********菜单**********/
QMenu { border: 1px solid rgb(111, 156, 207); background: rgb(232, 241, 250); }
QMenu::item { height: 22px; padding: 0px 25px 0px 20px; }
QMenu::item:enabled { color: rgb(84, 84, 84); }
QMenu::item:!enabled { color: rgb(155, 155, 155); }
QMenu::item:enabled:selected { color: rgb(2, 65, 132); background: rgba(255, 255, 255, 200); }
QMenu::separator { height: 1px; background: rgb(111, 156, 207); }
QMenu::indicator { width: 13px; height: 13px; }
QMenu::icon { padding-left: 2px; padding-right: 2px; }
/**********状态栏**********/
QStatusBar { background: rgb(187, 212, 238); border: 1px solid rgb(111, 156, 207); border-left: none; border-right: none; border-bottom: none; }
QStatusBar::item { border: none; border-right: 1px solid rgb(111, 156, 207); }
/**********分组框**********/
QGroupBox { font-size: 15px; border: 1px solid rgb(111, 156, 207); border-radius: 4px; margin-top: 10px; }
QGroupBox::title { color: rgb(56, 99, 154); top: -12px; left: 10px; }
/**********页签项**********/
QTabWidget::pane { border: none; border-top: 3px solid rgb(0, 78, 161); background: rgb(187, 212, 238); }
QTabWidget::tab-bar { border: none; }
QTabBar::tab { border: none; border-top-left-radius: 4px; border-top-right-radius: 4px; color: white; background: rgb(120, 170, 220); height: 28px; min-width: 85px; margin-right: 5px; padding-left: 5px; padding-right: 5px; }
QTabBar::tab:hover { background: rgb(0, 78, 161); }
QTabBar::tab:selected { color: white; background: rgb(0, 78, 161); }
QTabWidget#tabWidget::pane { border: 1px solid rgb(111, 156, 207); background: rgb(232, 241, 252); margin-top: -1px; }
QTabBar#tabBar::tab { border: 1px solid rgb(111, 156, 207); border-bottom: none; color: rgb(70, 71, 73); background: transparent; }
QTabBar#tabBar::tab:hover { color: rgb(2, 65, 132); }
QTabBar#tabBar::tab:selected { color: rgb(2, 65, 132); background: rgb(232, 241, 252); }
/**********表头**********/
QHeaderView{ border: none; border-bottom: 3px solid rgb(0, 78, 161); background: transparent; min-height: 30px; }
QHeaderView::section:horizontal { border: none; color: rgb(2, 65, 132); background: transparent; padding-left: 5px; }
QHeaderView::section:horizontal:hover { color: white; background: rgb(0, 78, 161); }
QHeaderView::section:horizontal:pressed { color: white; background: rgb(6, 94, 187); }
QHeaderView::up-arrow { width: 13px; height: 11px; padding-right: 5px; image: url(:/White/topArrow); subcontrol-position: center right; }
QHeaderView::up-arrow:hover, QHeaderView::up-arrow:pressed { image: url(:/White/topArrowHover); }
QHeaderView::down-arrow { width: 13px; height: 11px; padding-right: 5px; image: url(:/White/bottomArrow); subcontrol-position: center right; }
QHeaderView::down-arrow:hover, QHeaderView::down-arrow:pressed { image: url(:/White/bottomArrowHover); }
/**********表格**********/
QTableView { border: 1px solid rgb(111, 156, 207); background: rgb(224, 238, 255); gridline-color: rgb(111, 156, 207); }
QTableView::item { padding-left: 5px; padding-right: 5px; border: none; background: white; border-right: 1px solid rgb(111, 156, 207); border-bottom: 1px solid rgb(111, 156, 207); }
QTableView::item:selected { background: rgba(255, 255, 255, 100); }
QTableView::item:selected:!active { color: rgb(65, 65, 65); }
QTableView::indicator { width: 20px; height: 20px; }
QTableView::indicator:enabled:unchecked { image: url(:/White/checkBox); }
QTableView::indicator:enabled:unchecked:hover { image: url(:/White/checkBoxHover); }
QTableView::indicator:enabled:unchecked:pressed { image: url(:/White/checkBoxPressed); }
QTableView::indicator:enabled:checked { image: url(:/White/checkBoxChecked); }
QTableView::indicator:enabled:checked:hover { image: url(:/White/checkBoxCheckedHover); }
QTableView::indicator:enabled:checked:pressed { image: url(:/White/checkBoxCheckedPressed); }
QTableView::indicator:enabled:indeterminate { image: url(:/White/checkBoxIndeterminate); }
QTableView::indicator:enabled:indeterminate:hover { image: url(:/White/checkBoxIndeterminateHover); }
QTableView::indicator:enabled:indeterminate:pressed { image: url(:/White/checkBoxIndeterminatePressed); }
/**********滚动条-水平**********/
QScrollBar:horizontal { height: 20px; background: transparent; margin-top: 3px; margin-bottom: 3px; }
QScrollBar::handle:horizontal { height: 20px; min-width: 30px; background: rgb(170, 200, 230); margin-left: 15px; margin-right: 15px; }
QScrollBar::handle:horizontal:hover { background: rgb(165, 195, 225); }
QScrollBar::sub-line:horizontal { width: 15px; background: transparent; image: url(:/White/arrowLeft); subcontrol-position: left; }
QScrollBar::add-line:horizontal { width: 15px; background: transparent; image: url(:/White/arrowRight); subcontrol-position: right; }
QScrollBar::sub-line:horizontal:hover { background: rgb(170, 200, 230); }
QScrollBar::add-line:horizontal:hover { background: rgb(170, 200, 230); }
QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal { background: transparent; }
/**********滚动条-垂直**********/
QScrollBar:vertical { width: 20px; background: transparent; margin-left: 3px; margin-right: 3px; }
QScrollBar::handle:vertical { width: 20px; min-height: 30px; background: rgb(170, 200, 230); margin-top: 15px; margin-bottom: 15px; }
QScrollBar::handle:vertical:hover { background: rgb(165, 195, 225); }
QScrollBar::sub-line:vertical { height: 15px; background: transparent; image: url(:/White/topArrow); subcontrol-position: top; }
QScrollBar::add-line:vertical { height: 15px; background: transparent; image: url(:/White/bottomArrow); subcontrol-position: bottom; }
QScrollBar::sub-line:vertical:hover { background: rgb(170, 200, 230); }
QScrollBar::add-line:vertical:hover { background: rgb(170, 200, 230); }
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: transparent; }
QScrollBar#verticalScrollBar:vertical { margin-top: 30px; }
/**********下拉列表**********/
QComboBox { height: 25px; border-radius: 4px; border: 1px solid rgb(111, 156, 207); background: white; }
QComboBox:enabled { color: rgb(84, 84, 84); }
QComboBox:!enabled { color: rgb(80, 80, 80); }
QComboBox:enabled:hover, QComboBox:enabled:focus { color: rgb(51, 51, 51); }
QComboBox::drop-down { width: 20px; border: none; background: transparent; }
QComboBox::drop-down:hover { background: rgba(255, 255, 255, 30); }
QComboBox::down-arrow { image: url(:/White/arrowBottom); }
QComboBox::down-arrow:on { /**top: 1px;**/ }
QComboBox QAbstractItemView { border: 1px solid rgb(111, 156, 207); background: white; outline: none; }
QComboBox QAbstractItemView::item { height: 25px; color: rgb(73, 73, 73); }
QComboBox QAbstractItemView::item:selected { background: rgb(232, 241, 250); color: rgb(2, 65, 132); }
/**********进度条**********/
QProgressBar{ border: none; text-align: center; color: white; background: rgb(173, 202, 232); }
QProgressBar::chunk { background: rgb(16, 135, 209); }
QProgressBar#progressBar { border: none; text-align: center; color: white; background-color: transparent; background-image: url(":/White/progressBar"); background-repeat: repeat-x; }
QProgressBar#progressBar::chunk { border: none; background-color: transparent; background-image: url(":/White/progressBarChunk"); background-repeat: repeat-x; }
/**********复选框**********/
QCheckBox{ spacing: 5px; }
QCheckBox:enabled:checked{ color: rgb(2, 65, 132); }
QCheckBox:enabled:!checked{ color: rgb(70, 71, 73); }
QCheckBox:enabled:hover{ color: rgb(0, 78, 161); }
QCheckBox:!enabled{ color: rgb(80, 80, 80); }
QCheckBox::indicator { width: 20px; height: 20px; }
QCheckBox::indicator:unchecked { image: url(:/White/checkBox); }
QCheckBox::indicator:unchecked:hover { image: url(:/White/checkBoxHover); }
QCheckBox::indicator:unchecked:pressed { image: url(:/White/checkBoxPressed); }
QCheckBox::indicator:checked { image: url(:/White/checkBoxChecked); }
QCheckBox::indicator:checked:hover { image: url(:/White/checkBoxCheckedHover); }
QCheckBox::indicator:checked:pressed { image: url(:/White/checkBoxCheckedPressed); }
QCheckBox::indicator:indeterminate { image: url(:/White/checkBoxIndeterminate); }
QCheckBox::indicator:indeterminate:hover { image: url(:/White/checkBoxIndeterminateHover); }
QCheckBox::indicator:indeterminate:pressed { image: url(:/White/checkBoxIndeterminatePressed); }
/**********单选框**********/
QRadioButton{ spacing: 5px; }
QRadioButton:enabled:checked{ color: rgb(2, 65, 132); }
QRadioButton:enabled:!checked{ color: rgb(70, 71, 73); }
QRadioButton:enabled:hover{ color: rgb(0, 78, 161); }
QRadioButton:!enabled{ color: rgb(80, 80, 80); }
QRadioButton::indicator { width: 20px; height: 20px; }
QRadioButton::indicator:unchecked { image: url(:/White/radioButton); }
QRadioButton::indicator:unchecked:hover { image: url(:/White/radioButtonHover); }
QRadioButton::indicator:unchecked:pressed { image: url(:/White/radioButtonPressed); }
QRadioButton::indicator:checked { image: url(:/White/radioButtonChecked); }
QRadioButton::indicator:checked:hover { image: url(:/White/radioButtonCheckedHover); }
QRadioButton::indicator:checked:pressed { image: url(:/White/radioButtonCheckedPressed); }
/**********输入框**********/
QLineEdit { border-radius: 4px; height: 25px; border: 1px solid rgb(111, 156, 207); background: white; }
QLineEdit:enabled { color: rgb(84, 84, 84); }
QLineEdit:enabled:hover, QLineEdit:enabled:focus { color: rgb(51, 51, 51); }
QLineEdit:!enabled { color: rgb(80, 80, 80); }
/**********文本编辑框**********/
QTextEdit { border: 1px solid rgb(111, 156, 207); color: rgb(70, 71, 73); background: rgb(187, 212, 238); }
/**********滚动区域**********/
QScrollArea { border: 1px solid rgb(111, 156, 207); background: rgb(187, 212, 238); }
/**********滚动区域**********/
QWidget#transparentWidget { background: transparent; }
/**********微调器**********/
QSpinBox { border-radius: 4px; height: 24px; min-width: 40px; border: 1px solid rgb(111, 156, 207); background: white; }
QSpinBox:enabled { color: rgb(60, 60, 60); }
QSpinBox:enabled:hover, QSpinBox:enabled:focus { color: rgb(51, 51, 51); }
QSpinBox:!enabled { color: rgb(210, 210, 210); background: transparent; }
QSpinBox::up-button { border-left: 1px solid rgb(111, 156, 207); width: 18px; height: 12px; border-top-right-radius: 4px; image: url(:/White/upButton); }
QSpinBox::up-button:!enabled { background: transparent; }
QSpinBox::up-button:enabled:hover { background: rgb(255, 255, 255, 30); }
QSpinBox::down-button { border-left: 1px solid rgb(111, 156, 207); width: 18px; height: 12px; border-bottom-right-radius: 4px; image: url(:/White/downButton); }
QSpinBox::down-button:!enabled { background: transparent; }
QSpinBox::down-button:hover { background: rgb(255, 255, 255, 30); }
/**********标签**********/
QLabel#grayLabel { color: rgb(70, 71, 73); }
QLabel#highlightLabel { color: rgb(2, 65, 132); }
QLabel#redLabel { color: red; }
QLabel#grayYaHeiLabel { color: rgb(175, 175, 175); font-size: 16px; }
QLabel#blueLabel { color: rgb(0, 160, 230); }
QLabel#listLabel { color: rgb(51, 51, 51); }
QLabel#lineBlueLabel { background: rgb(0, 78, 161); }
QLabel#graySeperateLabel { background: rgb(200, 220, 230); }
QLabel#seperateLabel { background: rgb(112, 153, 194); }
QLabel#radiusBlueLabel { border-radius: 15px; color: white; font-size: 16px; background: rgb(0, 78, 161); }
QLabel#skinLabel[colorProperty="normal"] { color: rgb(56, 99, 154); }
QLabel#skinLabel[colorProperty="highlight"] { color: rgb(0, 160, 230); }
QLabel#informationLabel { qproperty-pixmap: url(:/White/information); }
QLabel#errorLabel { qproperty-pixmap: url(:/White/error); }
QLabel#successLabel { qproperty-pixmap: url(:/White/success); }
QLabel#questionLabel { qproperty-pixmap: url(:/White/question); }
QLabel#warningLabel { qproperty-pixmap: url(:/White/warning); }
QLabel#groupLabel { color: rgb(56, 99, 154); border: 1px solid rgb(111, 156, 207); font-size: 15px; border-top-color: transparent; border-right-color: transparent; border-left-color: transparent; }
/**********按钮**********/
QToolButton#nsccButton { border: none; color: rgb(2, 65, 132); background: transparent; padding: 10px; qproperty-icon: url(:/White/nscc); qproperty-iconSize: 32px 32px; qproperty-toolButtonStyle: ToolButtonTextUnderIcon; }
QToolButton#nsccButton:hover { background: rgb(187, 212, 238); }
QToolButton#transferButton { border: none; color: rgb(2, 65, 132); background: transparent; padding: 10px; qproperty-icon: url(:/White/transfer); qproperty-iconSize: 32px 32px; qproperty-toolButtonStyle: ToolButtonTextUnderIcon; }
QToolButton#transferButton:hover { background: rgb(187, 212, 238); }
/**********按钮**********/
QPushButton{ border-radius: 4px; border: none; width: 75px; height: 25px; }
QPushButton:enabled { background: rgb(120, 170, 220); color: white; }
QPushButton:!enabled { background: rgb(180, 180, 180); color: white; }
QPushButton:enabled:hover{ background: rgb(100, 160, 220); }
QPushButton:enabled:pressed{ background: rgb(0, 78, 161); }
QPushButton#blueButton { color: white; }
QPushButton#blueButton:enabled { background: rgb(0, 78, 161); color: white; }
QPushButton:!enabled { background: rgb(180, 180, 180); color: white; }
QPushButton#blueButton:enabled:hover { background: rgb(2, 65, 132); }
QPushButton#blueButton:enabled:pressed { background: rgb(6, 94, 187); }
QPushButton#selectButton { border: none; border-radius: none; border-left: 1px solid rgb(111, 156, 207); background: transparent; image: url(:/White/scan); color: rgb(51, 51, 51); }
QPushButton#selectButton:enabled:hover{ background: rgb(187, 212, 238); }
QPushButton#selectButton:enabled:pressed{ background: rgb(120, 170, 220); }
QPushButton#linkButton { background: transparent; color: rgb(0, 160, 230); text-align:left; }
QPushButton#linkButton:hover { color: rgb(20, 185, 255); text-decoration: underline; }
QPushButton#linkButton:pressed { color: rgb(0, 160, 230); }
QPushButton#transparentButton { background: transparent; }
/*****************标题栏按钮*******************/
QPushButton#minimizeButton { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/minimizeHover); }
QPushButton#minimizeButton:hover { image: url(:/White/minimize); }
QPushButton#minimizeButton:pressed { image: url(:/White/minimizePressed); }
QPushButton#maximizeButton[maximizeProperty="maximize"] { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/maximizeHover); }
QPushButton#maximizeButton[maximizeProperty="maximize"]:hover { image: url(:/White/maximize); }
QPushButton#maximizeButton[maximizeProperty="maximize"]:pressed { image: url(:/White/maximizePressed); }
QPushButton#maximizeButton[maximizeProperty="restore"] { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/restoreHover); }
QPushButton#maximizeButton[maximizeProperty="restore"]:hover { image: url(:/White/restore); }
QPushButton#maximizeButton[maximizeProperty="restore"]:pressed { image: url(:/White/restorePressed); }
QPushButton#closeButton { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/closeHover); }
QPushButton#closeButton:hover { image: url(:/White/close); }
QPushButton#closeButton:pressed { image: url(:/White/closePressed); }
QPushButton#skinButton { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/skinHover); }
QPushButton#skinButton:hover { image: url(:/White/skin); }
QPushButton#skinButton:pressed { image: url(:/White/skinPressed); }
QPushButton#feedbackButton { border-radius: none; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; background: rgb(120, 170, 220); image: url(:/White/feedbackHover); }
QPushButton#feedbackButton:hover { image: url(:/White/feedback); }
QPushButton#feedbackButton:pressed { image: url(:/White/feedbackPressed); }
QPushButton#closeTipButton { border-radius: none; border-image: url(:/White/close); background: transparent; }
QPushButton#closeTipButton:hover { border-image: url(:/White/closeHover); }
QPushButton#closeTipButton:pressed { border-image: url(:/White/closePressed); }
QPushButton#changeSkinButton{ border-radius: 4px; border: 2px solid rgb(111, 156, 207); background: rgb(204, 227, 252); }
QPushButton#changeSkinButton:hover{ border-color: rgb(60, 150, 200); }
QPushButton#changeSkinButton:pressed, QPushButton#changeSkinButton:checked{ border-color: rgb(0, 160, 230); }
QPushButton#transferButton { padding-left: 5px; padding-right: 5px; color: white; background: rgb(0, 78, 161); }
QPushButton#transferButton:hover { background: rgb(2, 65, 132); }
QPushButton#transferButton:pressed { background: rgb(6, 94, 187); }
QPushButton#transferButton[iconProperty="left"] { qproperty-icon: url(:/White/left); }
QPushButton#transferButton[iconProperty="right"] { qproperty-icon: url(:/White/right); }
QPushButton#openButton { border-radius: none; image: url(:/White/open); background: transparent; }
QPushButton#openButton:hover { image: url(:/White/openHover); }
QPushButton#openButton:pressed { image: url(:/White/openPressed); }
QPushButton#deleteButton { border-radius: none; image: url(:/White/delete); background: transparent; }
QPushButton#deleteButton:hover { image: url(:/White/deleteHover); }
QPushButton#deleteButton:pressed { image: url(:/White/deletePressed); }
QPushButton#menuButton { text-align: left center; padding-left: 3px; color: rgb(84, 84, 84); border: 1px solid rgb(111, 156, 207); background: white; }
QPushButton#menuButton::menu-indicator{ subcontrol-position: right center; subcontrol-origin: padding; image: url(:/White/arrowBottom); padding-right: 3px; }

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580369534607" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3686" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M444.3 539.9L202 782.2 199.8 563c0-16.5-13.5-30-30-30s-30 13.5-30 30l2.2 285.1c0 8.8 3.8 16.7 9.8 22.2 5.5 6 13.4 9.8 22.2 9.8h295.6c16.5 0 30-13.5 30-30s-13.5-30-30-30H248.9l237.8-237.8c11.7-11.7 11.7-30.8 0-42.4-11.6-11.6-30.7-11.6-42.4 0zM578.1 488l242.3-242.3 2.2 219.2c0 16.5 13.5 30 30 30s30-13.5 30-30l-2.2-285.1c0-8.8-3.8-16.7-9.8-22.2-5.5-6-13.4-9.8-22.2-9.8H552.8c-16.5 0-30 13.5-30 30s13.5 30 30 30h220.7L535.7 445.6c-11.7 11.7-11.7 30.8 0 42.4 11.7 11.7 30.8 11.7 42.4 0z" p-id="3687" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1606632646518" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8424" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M128 213.333333C128 166.4 166.4 128 213.333333 128L810.666667 128C857.6 128 896 166.4 896 213.333333L896 810.666667C896 857.6 857.6 896 810.666667 896L213.333333 896C165.973333 896 128 857.6 128 810.666667L128 213.333333M256 256 256 768 426.666667 768 426.666667 682.666667 341.333333 682.666667 341.333333 341.333333 426.666667 341.333333 426.666667 256 256 256M682.666667 682.666667 597.333333 682.666667 597.333333 768 768 768 768 256 597.333333 256 597.333333 341.333333 682.666667 341.333333 682.666667 682.666667Z" p-id="8425"></path></svg>

After

Width:  |  Height:  |  Size: 923 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1606630428606" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7152" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 1024H64a64 64 0 0 1-64-64V64a64 64 0 0 1 64-64h896a64 64 0 0 1 64 64v896a64 64 0 0 1-64 64zM896 192a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V192z m-512 512L192 448h128l126.464 168.576L704 256h128l-320 448H384z" p-id="7153"></path></svg>

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580641292734" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2118" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M670.4 308.352 512 466.752l-158.4-158.4c-12.512-12.512-32.768-12.512-45.248 0s-12.512 32.768 0 45.248l158.4 158.4-158.4 158.4c-12.512 12.512-12.512 32.768 0 45.248 12.48 12.48 32.768 12.512 45.248 0l158.4-158.4 158.4 158.4c12.48 12.48 32.768 12.512 45.248 0 12.512-12.512 12.48-32.768 0-45.248L557.248 512l158.4-158.4c12.512-12.512 12.48-32.768 0-45.248C703.136 295.84 682.88 295.84 670.4 308.352z" p-id="2119" fill="#e6e6e6"></path></svg>

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580641360656" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2752" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 1255.489906" p-id="2753" fill="#e6e6e6"></path><path d="M865.682191 310.085948l-554.675195 0c-14.634419 0-26.403358 11.973616-26.403358 26.710374L284.603638 423.681791l-92.309414 0c-14.634419 0-26.403358 11.973616-26.403358 26.710374l0 349.998001c0 14.634419 11.768939 26.505697 26.403358 26.505697l554.675195 0c14.634419 0 26.710374-11.871277 26.710374-26.505697L773.679792 713.30002l92.002399 0c14.634419 0 26.710374-11.871277 26.710374-26.505697l0-349.998001C892.392564 322.059564 880.31661 310.085948 865.682191 310.085948zM728.65081 781.86688 210.817509 781.86688 210.817509 468.710774l517.8333 0L728.65081 781.86688zM847.363582 668.271037l-73.68379 0L773.679792 450.392165c0-14.634419-12.075954-26.710374-26.710374-26.710374L329.530282 423.681791l0-68.56686 517.8333 0L847.363582 668.271037z" p-id="2754" fill="#e6e6e6"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580642261924" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3432" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M784 80H240c-88 0-160 72-160 160v544c0 88 72 160 160 160h544c88 0 160-72 160-160V240c0-88-72-160-160-160z m96 704c0 52.8-43.2 96-96 96h-96v-96c0-52.8 43.2-96 96-96h96v96z m0-160h-96c-88 0-160 72-160 160v96H240c-52.8 0-96-43.2-96-96V240c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v384z" p-id="3433" fill="#e6e6e6"></path><path d="M560 336c-17.6 0-32 14.4-32 32v115.2L302.4 257.6c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8L483.2 528H368c-17.6 0-32 14.4-32 32s14.4 32 32 32h192c9.6 0 17.6-3.2 22.4-9.6 6.4-6.4 9.6-14.4 9.6-22.4V368c0-17.6-14.4-32-32-32z" p-id="3434" fill="#e6e6e6"></path></svg>

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566285509502" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1969" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><defs><style type="text/css"></style></defs><path d="M734.814692 691.402973 884.428198 691.402973 884.428198 77.888951 258.144338 77.888951 258.144338 284.1005 294.983361 284.1005 294.983361 118.847805 847.589175 118.847805 847.589175 650.443096 734.814692 650.443096Z" p-id="1970"></path><path d="M108.530832 284.1005l626.28386 0 0 613.515045-626.28386 0L108.530832 284.1005 108.530832 284.1005zM145.369855 325.060377l0 531.59529 552.605813 0L697.975668 325.060377 145.369855 325.060377z" p-id="1971"></path></svg>

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580818424312" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7832" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M128 213.333333a85.333333 85.333333 0 0 1 85.333333-85.333333h597.333334a85.333333 85.333333 0 0 1 85.333333 85.333333v597.333334a85.333333 85.333333 0 0 1-85.333333 85.333333H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333333V213.333333m128 42.666667v512h170.666667v-85.333333H341.333333V341.333333h85.333334V256H256m426.666667 426.666667h-85.333334v85.333333h170.666667V256h-170.666667v85.333333h85.333334v341.333334z" fill="" p-id="7833"></path></svg>

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1563782191748" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1982" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M524 1008c-8 0-16 0-24-0.8-105.6-6.4-202.4-52.8-272.8-132-64.8-72.8-100-166.4-100-264 0-90.4 22.4-185.6 65.6-281.6 4-8 12.8-12 20.8-8s12 12.8 8 20.8C180.8 435.2 160 525.6 160 611.2c0 89.6 32 176 92 242.4 64.8 72.8 153.6 116 250.4 121.6s190.4-26.4 263.2-91.2c6.4-5.6 16.8-5.6 22.4 1.6s5.6 16.8-1.6 22.4c-72.8 64.8-164.8 100-262.4 100z m359.2-256.8c-1.6 0-3.2 0-4.8-0.8-8-3.2-12.8-12-9.6-20 12.8-38.4 20-78.4 20-119.2C888 399.2 717.6 48 524 48c-70.4 0-129.6 35.2-191.2 113.6-5.6 7.2-15.2 8-22.4 2.4-7.2-5.6-8-15.2-2.4-22.4C375.2 56 444 16 524 16 752.8 16 920 407.2 920 611.2c0 44-7.2 88-21.6 129.6-2.4 6.4-8 10.4-15.2 10.4z" fill="#27B1BD" p-id="1983"></path><path d="M532 836.8C388.8 836.8 272 720 272 576.8 272 436.8 440 184 532 184 621.6 184 792 440.8 792 576.8c0 143.2-116.8 260-260 260z m0-620.8C470.4 216 304 439.2 304 576.8c0 125.6 102.4 228 228 228S760 702.4 760 576.8C760 443.2 592 216 532 216zM272 336c-48.8 0-88-39.2-88-88s39.2-88 88-88 88 39.2 88 88-39.2 88-88 88z m0-144c-31.2 0-56 24.8-56 56s24.8 56 56 56 56-24.8 56-56-24.8-56-56-56z" fill="#27B1BD" p-id="1984"></path><path d="M630.4 523.2c42.4 56.8 30.4 136.8-26.4 179.2s-136.8 30.4-179.2-26.4c-23.2-31.2-35.2-70.4-25.6-108m0.8 0c21.6-2.4 54.4 20.8 80 16 90.4-16 101.6-60.8 150.4-60.8" fill="#53DBEA" p-id="1985"></path><path d="M842.4 893.6c-41.6 0-75.2-33.6-75.2-75.2s33.6-75.2 75.2-75.2 75.2 33.6 75.2 75.2c-0.8 41.6-34.4 75.2-75.2 75.2z m0-117.6c-24 0-43.2 19.2-43.2 43.2s19.2 43.2 43.2 43.2 43.2-19.2 43.2-43.2-20-43.2-43.2-43.2z" fill="#27B1BD" p-id="1986"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1606629528256" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6317" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M332.799002 686.081014m-332.799002 0a332.799002 332.799002 0 1 0 665.598003 0 332.799002 332.799002 0 1 0-665.598003 0Z" fill="#D3EFDE" p-id="6318"></path><path d="M883.19735 1024h-639.99808A141.055577 141.055577 0 0 1 102.399693 883.200422v-742.397772A141.055577 141.055577 0 0 1 243.19927 0.003072h516.350451a89.087733 89.087733 0 0 1 63.231811 25.599923l189.695431 189.695431A38.399885 38.399885 0 0 1 1023.996928 243.202342v639.99808a141.055577 141.055577 0 0 1-140.799578 140.799578zM243.19927 76.802842A63.999808 63.999808 0 0 0 179.199462 140.80265v742.397772A63.999808 63.999808 0 0 0 243.19927 947.20023h639.99808a63.999808 63.999808 0 0 0 63.999808-63.999808V259.074295l-179.199462-179.199463a12.799962 12.799962 0 0 0-8.447975-3.07199z" fill="#434260" p-id="6319"></path><path d="M332.799002 399.105875h35.583893v226.047322H332.799002zM428.798714 399.105875h36.60789l75.007775 132.607602 22.783931 47.871856h1.535996c-1.791995-23.29593-4.607986-51.199846-4.607986-75.263774v-105.215684h33.791898v226.047322h-35.839892l-75.007775-133.3756-22.271933-47.359858h-1.535996c1.791995 23.29593 4.607986 49.407852 4.607986 73.983778v106.49568h-35.071894zM700.413899 428.801786h-66.303801v-29.695911h168.447494v29.695911h-66.5598v196.095411h-35.583893z" fill="#434260" p-id="6320"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580815694677" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4835" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M490.208 193.088l33.568 0 0 134.272-33.568 0 0-134.272z" p-id="4836" fill="#000000"></path><path d="M741.952 293.792c0-129.792-105.216-234.976-234.976-234.976-129.792 0-234.976 105.184-234.976 234.976 0 99.936 62.528 185.12 150.528 219.072l0 452.288 167.84 0 0-116.96 50.88-50.88-50.88-50.88 0-66.08 84.448-84.448-83.136-83.136c87.84-34.016 150.272-119.136 150.272-218.976zM579.552 481.472l-22.752 8.8 0 35.104 70.496 70.56-70.528 70.528 0 93.888 36.96 36.992-36.96 36.992 0 97.312-100.704 0 0-441.76-21.504-8.288c-78.368-30.24-129.024-103.904-129.024-187.744 0-111.072 90.336-201.408 201.408-201.408 111.04 0 201.408 90.336 201.408 201.408 0 83.712-50.592 157.376-128.832 187.68z" p-id="4837" fill="#000000"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580818580570" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8091" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M341.333333 426.666667a42.666667 42.666667 0 1 1-85.333333 0 42.666667 42.666667 0 0 1 85.333333 0z m170.666667 0a42.666667 42.666667 0 1 1-85.333333 0 42.666667 42.666667 0 0 1 85.333333 0z m256 426.666666a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z m42.666667-384c70.570667 0 128 57.429333 128 128s-57.429333 128-128 128v42.666667a42.666667 42.666667 0 0 1-85.333334 0v-85.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h42.666667c23.509333 0 42.666667-19.157333 42.666666-42.666667 0-23.509333-19.157333-42.666667-42.666666-42.666666h-42.666667c-23.509333 0-42.666667 19.157333-42.666667 42.666666a42.666667 42.666667 0 0 1-85.333333 0c0-70.570667 57.429333-128 128-128h42.666667z m-128-42.666666a42.666667 42.666667 0 0 1-85.333334 0c0-30.72-6.656-60.501333-19.2-87.722667A125.44 125.44 0 0 1 554.666667 341.333333a127.872 127.872 0 0 1-127.488-123.008 211.797333 211.797333 0 0 0-86.357334 0A127.872 127.872 0 0 1 213.333333 341.333333a125.44 125.44 0 0 1-23.466666-2.389333A209.152 209.152 0 0 0 170.666667 426.666667v298.666666h384a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 0 1-42.666667-42.666667v-341.333333c0-46.037333 10.794667-90.538667 30.890667-130.944A126.72 126.72 0 0 1 85.333333 213.333333V170.666667c0-47.061333 38.272-85.333333 85.333334-85.333334h128a42.666667 42.666667 0 0 1 42.666666 42.666667v3.712a300.928 300.928 0 0 1 85.333334 0V128a42.666667 42.666667 0 0 1 42.666666-42.666667h128c47.061333 0 85.333333 38.272 85.333334 85.333334v42.666666a126.72 126.72 0 0 1-30.890667 82.389334c20.096 40.405333 30.890667 84.906667 30.890667 130.944z m-341.333334 170.666666a42.666667 42.666667 0 0 1 0-85.333333h85.333334a42.666667 42.666667 0 0 1 0 85.333333 42.666667 42.666667 0 0 1-85.333334 0z m170.666667-384c0 23.509333 19.157333 42.666667 42.666667 42.666667 23.509333 0 42.666667-19.157333 42.666666-42.666667V170.666667h-85.333333v42.666666zM256 213.333333V170.666667H170.666667v42.666666c0 23.509333 19.157333 42.666667 42.666666 42.666667 23.509333 0 42.666667-19.157333 42.666667-42.666667z" fill="#000000" p-id="8092"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1606632592168" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7960" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M341.333333 725.333333 42.666667 725.333333c-25.6 0-42.666667-17.066667-42.666667-42.666667L0 42.666667c0-25.6 17.066667-42.666667 42.666667-42.666667l640 0c25.6 0 42.666667 17.066667 42.666667 42.666667l0 298.666667c0 25.6-17.066667 42.666667-42.666667 42.666667s-42.666667-17.066667-42.666667-42.666667L640 85.333333 85.333333 85.333333l0 554.666667 256 0c25.6 0 42.666667 17.066667 42.666667 42.666667S366.933333 725.333333 341.333333 725.333333z" p-id="7961"></path><path d="M981.333333 1024 341.333333 1024c-25.6 0-42.666667-17.066667-42.666667-42.666667L298.666667 341.333333c0-25.6 17.066667-42.666667 42.666667-42.666667l640 0c25.6 0 42.666667 17.066667 42.666667 42.666667l0 640C1024 1006.933333 1006.933333 1024 981.333333 1024zM384 938.666667l554.666667 0L938.666667 384 384 384 384 938.666667z" p-id="7962"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580818387282" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6755" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M391.68 561.792c0 24.96-6.464 47.36-19.264 67.264-12.864 19.904-31.68 35.392-56.384 46.656s-54.08 16.896-88 16.896c-40.704 0-74.24-7.616-100.672-22.976-18.752-11.072-33.984-25.856-45.696-44.288C69.824 606.72 64 588.8 64 571.392 64 561.28 67.52 552.576 74.56 545.344c7.04-7.232 16-10.816 26.88-10.816 8.832 0 16.256 2.752 22.4 8.384C129.856 548.544 135.04 556.928 139.392 568 144.64 581.12 150.272 592.128 156.416 600.96c6.08 8.832 14.656 16.064 25.728 21.76 11.072 5.76 25.6 8.64 43.584 8.64 24.768 0 44.864-5.824 60.288-17.344 15.488-11.584 23.232-25.92 23.232-43.2 0-13.696-4.16-24.832-12.544-33.344-8.32-8.576-19.136-15.04-32.32-19.584-13.248-4.48-30.912-9.28-53.056-14.4C181.76 496.704 156.992 488.576 136.96 479.232c-19.968-9.28-35.84-21.952-47.488-37.952C77.696 425.28 71.872 405.376 71.872 381.568c0-22.656 6.208-42.88 18.56-60.48s30.272-31.168 53.696-40.64c23.424-9.472 51.008-14.272 82.688-14.272 25.344 0 47.168 3.2 65.664 9.408 18.432 6.336 33.792 14.656 45.952 25.088 12.16 10.368 21.12 21.312 26.688 32.768s8.448 22.656 8.448 33.472c0 9.92-3.52 18.88-10.56 26.816C356.096 401.728 347.328 405.696 336.832 405.696c-9.536 0-16.832-2.368-21.76-7.104C310.016 393.728 304.64 385.92 298.816 375.04 291.328 359.488 282.368 347.392 271.872 338.624 261.312 329.92 244.48 325.568 221.248 325.568c-21.568 0-38.912 4.736-52.16 14.208-13.184 9.472-19.84 20.864-19.84 34.176 0 8.256 2.24 15.36 6.72 21.376s10.688 11.2 18.56 15.488 15.872 7.68 23.936 10.112 21.376 6.016 39.936 10.624c23.232 5.504 44.288 11.52 63.168 17.984 18.816 6.656 34.88 14.592 48.064 23.936C362.816 482.88 373.12 494.72 380.544 509.056 387.968 523.456 391.68 540.992 391.68 561.792zM449.856 387.2l8.448 0L458.304 341.056c0-12.352 0.32-22.144 1.024-29.12 0.64-7.04 2.496-13.12 5.44-18.112 3.008-5.248 7.296-9.536 12.928-12.8C483.328 277.696 489.6 276.032 496.576 276.032c9.728 0 18.56 3.648 26.432 11.008 5.248 4.864 8.64 10.816 9.984 17.792C534.4 311.936 535.104 321.92 535.104 334.784L535.104 387.2l28.096 0c10.88 0 19.136 2.56 24.896 7.68 5.76 5.184 8.64 11.84 8.64 19.84 0 10.368-4.096 17.536-12.224 21.696S564.608 442.56 549.504 442.56L535.104 442.56l0 141.184c0 12.032 0.384 21.248 1.28 27.712C537.28 617.92 539.52 623.168 543.104 627.2c3.648 4.032 9.6 6.08 17.856 6.08 4.48 0 10.624-0.832 18.24-2.368 7.744-1.6 13.76-2.432 17.984-2.432 6.272 0 11.776 2.496 16.768 7.488 4.992 4.928 7.488 11.136 7.488 18.368 0 12.352-6.72 21.888-20.224 28.416s-33.024 9.792-58.24 9.792c-24 0-42.24-3.968-54.592-12.032s-20.48-19.2-24.32-33.408-5.76-33.344-5.76-57.152L458.304 442.56 448.192 442.56c-11.072 0-19.52-2.624-25.344-7.872S414.144 422.784 414.144 414.656c0-8 3.008-14.656 9.152-19.84C429.376 389.76 438.272 387.2 449.856 387.2zM725.76 581.824l0 64.128c0 15.552-3.648 27.2-10.88 35.008-7.36 7.744-16.64 11.648-27.904 11.648-11.136 0-20.096-3.904-27.264-11.776s-10.752-19.52-10.752-34.88l0-213.76c0-34.496 12.48-51.776 37.376-51.776 12.736 0 22.016 3.968 27.648 12.032s4.864 16.192 5.504 31.936c9.152-15.744 22.4-23.872 32-31.936s22.656-12.032 38.72-12.032 31.744 3.968 46.848 12.032c15.232 8.064 22.848 18.752 22.848 32.064 0 9.344-3.264 17.152-9.728 23.168-6.528 6.144-13.504 9.216-20.992 9.216-2.752 0-9.6-1.728-20.352-5.248-10.752-3.456-20.224-5.184-28.48-5.184-11.264 0-20.48 2.944-27.648 8.896-7.104 5.888-12.608 14.656-16.512 26.304-3.968 11.648-6.72 25.408-8.256 41.408C726.528 539.2 725.76 558.656 725.76 581.824zM881.344 607.936c-26.496 0-48 21.568-48 48 0 26.496 21.504 48.064 48 48.064s48-21.568 48-48.064C929.344 629.504 907.904 607.936 881.344 607.936z" p-id="6756"></path></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580369499637" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2832" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M503.466667 467.285333l319.829333-319.829333a25.6 25.6 0 1 1 36.181333 36.181333l-319.829333 319.829334 319.829333 319.829333a25.6 25.6 0 1 1-36.181333 36.181333l-319.829333-319.829333-319.829334 319.829333a25.6 25.6 0 1 1-36.181333-36.181333l319.829333-319.829333-319.829333-319.829334a25.6 25.6 0 1 1 36.181333-36.181333l319.829334 319.829333z" p-id="2833" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 764 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1580369518247" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3279" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M98.23 451.003l829.685-1.992 0.154 64-829.685 1.992z" fill="#ffffff" p-id="3280"></path></svg>

After

Width:  |  Height:  |  Size: 471 B

View File

@ -0,0 +1,56 @@
<RCC>
<qresource prefix="/qss">
<file>icon/btn_close_down.png</file>
<file>icon/btn_close_highlight.png</file>
<file>icon/btn_close_normal.png</file>
<file>icon/btn_max_down.png</file>
<file>icon/btn_max_highlight.png</file>
<file>icon/btn_max_normal.png</file>
<file>icon/btn_mini_down.png</file>
<file>icon/btn_mini_highlight.png</file>
<file>icon/btn_mini_normal.png</file>
<file>icon/btn_restore_down.png</file>
<file>icon/btn_restore_highlight.png</file>
<file>icon/btn_restore_normal.png</file>
<file>icon/checkbox.png</file>
<file>icon/checkbox_h.png</file>
<file>icon/checkbox_p.png</file>
<file>icon/downarrow.png</file>
<file>icon/hor_scroll_left_arrow.png</file>
<file>icon/hor_scroll_right_arrow.png</file>
<file>icon/radio.png</file>
<file>icon/radio_h.png</file>
<file>icon/radio_p.png</file>
<file>icon/ver_scroll_bottom_arrow.png</file>
<file>icon/ver_scroll_top_arrow.png</file>
<file>icon/sizegrip.png</file>
<file>css/qss.css</file>
<file>icon/btn_serial.png</file>
<file>css/white.css</file>
<file>css/dark.css</file>
<file>icon/btn_data.png</file>
<file>icon/dataflow.svg</file>
<file>icon/check_box_p.png</file>
<file>icon/combo_arrow.png</file>
<file>icon/charts.png</file>
<file>icon/btn_max_normal.svg</file>
<file>icon/btn_restore_down.svg</file>
<file>icon/btn_mini_down.svg</file>
<file>icon/btn_close_down.svg</file>
<file>icon/close_main.png</file>
<file>icon/logo.png</file>
<file>icon/key.svg</file>
<file>icon/action_config.png</file>
<file>icon/int.svg</file>
<file>icon/objects.svg</file>
<file>icon/string.svg</file>
<file>icon/missing.svg</file>
<file>css/QssMainWindow.css</file>
<file>css/QssTitleBar.css</file>
<file>css/corrugation_form.css</file>
<file>css/vibration_comparison_form.css</file>
<file>css/mainwindow.css</file>
<file>css/basic.css</file>
<file>css/save_data_form.css</file>
</qresource>
</RCC>

View File

@ -0,0 +1,113 @@
#include "camera_video_sink.h"
CameraVideoSink::CameraVideoSink() : m_vcm(nullptr) {
rtc::LogMessage::SetLogToStderr(true);
}
CameraVideoSink::~CameraVideoSink() {
Destroy();
}
bool CameraVideoSink::Init(size_t width,
size_t height,
size_t target_fps,
size_t capture_device_index) {
std::unique_ptr<webrtc::VideoCaptureModule::DeviceInfo> device_info(webrtc::VideoCaptureFactory::CreateDeviceInfo());
char device_name[256];
char unique_name[256];
if (device_info->GetDeviceName(static_cast<uint32_t>(capture_device_index),
device_name, sizeof(device_name), unique_name,
sizeof(unique_name)) != 0) {
Destroy();
return false;
}
m_vcm = webrtc::VideoCaptureFactory::Create(unique_name);
if (!m_vcm) {
return false;
}
m_vcm->RegisterCaptureDataCallback(this);
device_info->GetCapability(m_vcm->CurrentDeviceName(), 0, m_capability);
m_capability.width = static_cast<int32_t>(width);
m_capability.height = static_cast<int32_t>(height);
m_capability.maxFPS = static_cast<int32_t>(target_fps);
m_capability.videoType = webrtc::VideoType::kI420;
if (m_vcm->StartCapture(m_capability) != 0) {
Destroy();
return false;
}
RTC_CHECK(m_vcm->CaptureStarted());
return true;
}
CameraVideoSink* CameraVideoSink::Create(size_t width,
size_t height,
size_t target_fps,
size_t capture_device_index) {
std::unique_ptr<CameraVideoSink> vcm_capturer(new CameraVideoSink());
if (!vcm_capturer->Init(width, height, target_fps, capture_device_index)) {
RTC_LOG(LS_WARNING) << "Failed to create VcmCapturer(w = " << width
<< ", h = " << height << ", fps = " << target_fps
<< ")";
return nullptr;
}
return vcm_capturer.release();
}
void CameraVideoSink::Destroy() {
if (!m_vcm)
return;
m_vcm->StopCapture();
m_vcm->DeRegisterCaptureDataCallback();
// Release reference to VCM.
m_vcm = nullptr;
}
void CameraVideoSink::OnFrame(const webrtc::VideoFrame& frame) {
static auto timestamp = std::chrono::duration_cast<std::chrono::milliseconds>(
std::chrono::system_clock::now().time_since_epoch()).count();
static size_t cnt = 0;
rtc::scoped_refptr<webrtc::I420BufferInterface> frameBuffer = frame.video_frame_buffer()->ToI420();
cnt++;
m_buf.PushFirst(&frameBuffer);
auto timestamp_curr = std::chrono::duration_cast<std::chrono::milliseconds>(
std::chrono::system_clock::now().time_since_epoch()).count();
if(timestamp_curr - timestamp > 1000) {
RTC_LOG(LS_INFO) << "FPS: " << cnt<<m_buf.Size();
cnt = 0;
timestamp = timestamp_curr;
}
}
rtc::scoped_refptr<webrtc::I420BufferInterface> *FrameBufferList::TakeLast()
{
std::lock_guard<std::mutex> guard(this->m_mutex);
if(m_data.size() != 0){
rtc::scoped_refptr<webrtc::I420BufferInterface> * ret = *m_data.begin();
m_data.pop_front();
return ret;
}
}
void FrameBufferList::PushFirst(rtc::scoped_refptr<webrtc::I420BufferInterface> *v)
{
std::lock_guard<std::mutex> guard(this->m_mutex);
m_data.push_back(v);
}
uint16_t FrameBufferList::Size()
{
std::lock_guard<std::mutex> guard(this->m_mutex);
return m_data.size();
}

View File

@ -0,0 +1,52 @@
#ifndef CAMERA_VIDEO_SINK_H
#define CAMERA_VIDEO_SINK_H
// vcm_capturer_test.h
#include <memory>
#include <QObject>
#include "modules/video_capture/video_capture.h"
#include "video_source_impl.h"
class FrameBufferList{
public:
rtc::scoped_refptr<webrtc::I420BufferInterface>* TakeLast();
void PushFirst(rtc::scoped_refptr<webrtc::I420BufferInterface>*);
uint16_t Size();
private:
std::list<rtc::scoped_refptr<webrtc::I420BufferInterface>*> m_data;
std::mutex m_mutex;
};
class CameraVideoSink : public QObject,
public VideoSource,
public rtc::VideoSinkInterface<webrtc::VideoFrame>
{
Q_OBJECT
public:
CameraVideoSink();
static CameraVideoSink* Create(size_t width,
size_t height,
size_t target_fps,
size_t capture_device_index);
virtual ~CameraVideoSink();
void OnFrame(const webrtc::VideoFrame& frame) override;
signals:
void UpdateFrame(rtc::scoped_refptr<webrtc::I420BufferInterface>& buffer);
private:
bool Init(size_t width,
size_t height,
size_t target_fps,
size_t capture_device_index);
void Destroy();
rtc::scoped_refptr<webrtc::VideoCaptureModule> m_vcm;
webrtc::VideoCaptureCapability m_capability;
FrameBufferList m_buf;
};
#endif // CAMERA_VIDEO_SINK_H

View File

@ -0,0 +1,480 @@
#include "CPlayWidget.h"
#include <QOpenGLTexture>
#include <QOpenGLBuffer>
#include <QMouseEvent>
#include "CPlayWidget.h"
#define UNIFORM_2D "uniform sampler2D"
#define VERTEX_SHADER_IN "attribute"
#define VERTEX_SHADER_OUT "varying"
#define FRAGMENT_SHADER_IN "varying"
#define FRAGMENT_SHADER_OUT
#define FRAGMENT_SHADER_COLOR "gl_FragColor"
#define FRAGMENT_SHADER_TEXTURE "texture2D"
static const char kI420FragmentShaderSource[] =
FRAGMENT_SHADER_IN " vec2 textureOut;\n"
UNIFORM_2D " tex_y;\n"
UNIFORM_2D " tex_u;\n"
UNIFORM_2D " tex_v;\n"
FRAGMENT_SHADER_OUT
"void main() {\n"
" float y, u, v, r, g, b;\n"
" y = " FRAGMENT_SHADER_TEXTURE "(tex_y, textureOut).r;\n"
" u = " FRAGMENT_SHADER_TEXTURE "(tex_u, textureOut).r;\n"
" v = " FRAGMENT_SHADER_TEXTURE "(tex_v, textureOut).r;\n"
" y = y * 1.1643828125;\n"
" r = y + 1.59602734375 * v - 0.87078515625;\n"
" g = y - 0.39176171875 * u - 0.81296875 * v + 0.52959375;\n"
" b = y + 2.017234375 * u - 1.081390625;\n"
" " FRAGMENT_SHADER_COLOR " = vec4(r, g, b, 1.0);\n"
" }\n";
const char *vsrcyuv = "attribute vec4 vertexIn; \
attribute vec2 textureIn; \
varying vec2 textureOut; \
void main(void) \
{ \
gl_Position = vertexIn; \
textureOut = textureIn; \
}";
const char *fsrcyuv = "varying vec2 textureOut; \
uniform sampler2D tex_y; \
uniform sampler2D tex_u; \
uniform sampler2D tex_v; \
void main(void) \
{ \
vec3 yuv; \
vec3 rgb; \
yuv.x = texture2D(tex_y, textureOut).r; \
yuv.y = texture2D(tex_u, textureOut).r - 0.5; \
yuv.z = texture2D(tex_v, textureOut).r - 0.5; \
rgb = mat3( 1, 1, 1, \
0, -0.39465, 2.03211, \
1.13983, -0.58060, 0) * yuv; \
gl_FragColor = vec4(rgb, 1); \
}";
// rgb???????????
// ???MEDIASUBTYPE_RGB32 ??bgr?????????????????????
const char *fsrcrgb = "varying vec2 textureOut; \
uniform sampler2D rgbdata; \
void main() \
{ \
gl_FragColor = texture(rgbdata, textureOut); \
}";
void CPlayWidget::OnPaintData(const rtc::scoped_refptr<webrtc::I420BufferInterface>& buffer)
{
/*
if(nullptr == m_pBufYuv420p)
{
m_pBufYuv420p = new unsigned char[len];
qDebug("CPlayWidget::PlayOneFrame new data memory. Len=%d width=%d height=%d\n",
len, m_nVideoW, m_nVideoW);
memcpy(m_pBufYuv420p, data,len);
//??????,????paintGL???
update();
}
*/
m_buffer = buffer;
update();
}
CPlayWidget::CPlayWidget(QWidget *parent):QOpenGLWidget(parent) {
textureUniformY = 0;
textureUniformU = 0;
textureUniformV = 0;
id_y = 0;
id_u = 0;
id_v = 0;
m_pTextureRGB = nullptr;
m_pBufYuv420p = nullptr;
m_pVSHader = NULL;
m_pFSHader = NULL;
m_pShaderProgram = NULL;
m_pTextureY = NULL;
m_pTextureU = NULL;
m_pTextureV = NULL;
m_nVideoH = 0;
m_nVideoW = 0;
mType = TYPE_UNSET;
}
CPlayWidget::~CPlayWidget() {
}
int CPlayWidget::SetDataType(CPlayWidget::IMG_TYPE type){
this->mType = type;
return 0;
}
void CPlayWidget::OnCameraData( rtc::scoped_refptr<webrtc::I420BufferInterface> &buffer)
{
m_buffer = buffer;
memcpy(this->m_pBufYuv420p,buffer->GetI420()->DataY(),m_nVideoW*m_nVideoH);
memcpy(this->m_pBufYuv420p + m_nVideoW*m_nVideoH ,buffer->GetI420()->DataU(),m_nVideoW*m_nVideoH/4);
memcpy(this->m_pBufYuv420p+ m_nVideoW*m_nVideoH + m_nVideoW*m_nVideoH/4,
buffer->GetI420()->DataV(),m_nVideoW*m_nVideoH/4);
update();
}
int CPlayWidget::OnCameraData(uint8_t *p)
{
memcpy(m_pBufYuv420p,p,640*480/2*3);
update();
return 0;
}
int CPlayWidget::SetImgSize(uint32_t width, uint32_t height)
{
m_nVideoH = height;
m_nVideoW = width;
if(mType == TYPE_RGB32){
m_pBufRgb32 = new uint8_t[width * height *4];
}
if(mType == TYPE_YUV420P){
m_pBufYuv420p = new uint8_t[width * height *3/2];
}
if(mType == TYPE_I420){
m_pBufYuv420p = new uint8_t[width * height *3/2];
}
return 0;
}
/*
* Y = 0.299 R + 0.587 G + 0.114 B
U = - 0.1687 R - 0.3313 G + 0.5 B + 128
V = 0.5 R - 0.4187 G - 0.0813 B + 128
????????RGB ?????????YUV (256????) ????:
R = Y + 1.402 (Cr-128)
G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)
B = Y + 1.772 (Cb-128)
*/
void CPlayWidget::initializeGL()
{
initializeOpenGLFunctions();
glEnable(GL_DEPTH_TEST);
m_pVSHader = new QOpenGLShader(QOpenGLShader::Vertex, this);
bool bCompile = m_pVSHader->compileSourceCode(vsrcyuv);
if(!bCompile)
{
// todo ?????????
}
m_pFSHader = new QOpenGLShader(QOpenGLShader::Fragment, this);
if(mType == TYPE_RGB32){
bCompile = m_pFSHader->compileSourceCode(fsrcrgb);
}
if(mType == TYPE_YUV420P){
bCompile = m_pFSHader->compileSourceCode(fsrcyuv);
}
if(mType == TYPE_I420){
bCompile = m_pFSHader->compileSourceCode(kI420FragmentShaderSource);
}
if(!bCompile)
{
}
#define PROGRAM_VERTEX_ATTRIBUTE 0
#define PROGRAM_TEXCOORD_ATTRIBUTE 1
m_pShaderProgram = new QOpenGLShaderProgram;
m_pShaderProgram->addShader(m_pFSHader);
m_pShaderProgram->addShader(m_pVSHader);
m_pShaderProgram->bindAttributeLocation("vertexIn", ATTRIB_VERTEX);
m_pShaderProgram->bindAttributeLocation("textureIn", ATTRIB_TEXTURE);
m_pShaderProgram->link();
m_pShaderProgram->bind();
if(this->mType == TYPE_YUV420P){
initShaderYuv();
}
if(this->mType == TYPE_RGB32){
initShaderRgb();
}
if(this->mType == TYPE_I420){
initShaderI420();
}
glClearColor(0.0,0.0,0.0,0.0);
}
void CPlayWidget::resizeGL(int w, int h)
{
if(h == 0)
{
h = 1;
}
glViewport(0,0, w,h);
}
void CPlayWidget::paintGL()
{
if(mType == TYPE_YUV420P)
loadYuvTexture();
if(mType == TYPE_RGB32){
loadRgbTexture();
}
if(mType == TYPE_I420){
loadYuvTexture();
}
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
return;
}
void CPlayWidget::initShaderYuv()
{
textureUniformY = m_pShaderProgram->uniformLocation("tex_y");
textureUniformU = m_pShaderProgram->uniformLocation("tex_u");
textureUniformV = m_pShaderProgram->uniformLocation("tex_v");
static const GLfloat vertexVertices[] = {
-1.0f, -1.0f,
1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, 1.0f,
};
static const GLfloat textureVertices[] = {
0.0f, 1.0f,
1.0f, 1.0f,
0.0f, 0.0f,
1.0f, 0.0f,
};
glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, vertexVertices);
glVertexAttribPointer(ATTRIB_TEXTURE, 2, GL_FLOAT, 0, 0, textureVertices);
glEnableVertexAttribArray(ATTRIB_VERTEX);
glEnableVertexAttribArray(ATTRIB_TEXTURE);
m_pTextureY = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureU = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureV = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureY->create();
m_pTextureU->create();
m_pTextureV->create();
id_y = m_pTextureY->textureId();
id_u = m_pTextureU->textureId();
id_v = m_pTextureV->textureId();
}
void CPlayWidget::initShaderRgb()
{
textureUniformRGB = m_pShaderProgram->uniformLocation("rgbdata");
static const GLfloat vertexVertices[] = {
-1.0f, -1.0f,
1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, 1.0f,
};
static const GLfloat textureVertices[] = {
0.0f, 0.0f,
1.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
};
glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, vertexVertices);
glVertexAttribPointer(ATTRIB_TEXTURE, 2, GL_FLOAT, 0, 0, textureVertices);
glEnableVertexAttribArray(ATTRIB_VERTEX);
glEnableVertexAttribArray(ATTRIB_TEXTURE);
m_pTextureRGB = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureRGB->create();
id_rgb = m_pTextureRGB->textureId();
}
void CPlayWidget::initShaderI420()
{
textureUniformY = m_pShaderProgram->uniformLocation("tex_y");
textureUniformU = m_pShaderProgram->uniformLocation("tex_u");
textureUniformV = m_pShaderProgram->uniformLocation("tex_v");
static const GLfloat vertexVertices[] = {
-1.0f, -1.0f,
1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, 1.0f,
};
static const GLfloat textureVertices[] = {
0.0f, 1.0f,
1.0f, 1.0f,
0.0f, 0.0f,
1.0f, 0.0f,
};
glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, vertexVertices);
glVertexAttribPointer(ATTRIB_TEXTURE, 2, GL_FLOAT, 0, 0, textureVertices);
glEnableVertexAttribArray(ATTRIB_VERTEX);
glEnableVertexAttribArray(ATTRIB_TEXTURE);
m_pTextureY = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureU = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureV = new QOpenGLTexture(QOpenGLTexture::Target2D);
m_pTextureY->create();
m_pTextureU->create();
m_pTextureV->create();
id_y = m_pTextureY->textureId();
id_u = m_pTextureU->textureId();
id_v = m_pTextureV->textureId();
}
int CPlayWidget::loadYuvTexture()
{
if(nullptr == m_pBufYuv420p)
return 0;
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, id_y);
glTexImage2D(GL_TEXTURE_2D,
0,
GL_RED,
m_nVideoW,
m_nVideoH,
0,
GL_RED,
GL_UNSIGNED_BYTE,
m_pBufYuv420p);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, id_u);
// glPixelStorei(GL_UNPACK_ROW_LENGTH, m_buffer->StrideU());
glTexImage2D(GL_TEXTURE_2D,
0, GL_RED,
m_nVideoW/2,
m_nVideoH/2,
0,
GL_RED,
GL_UNSIGNED_BYTE,
m_pBufYuv420p + m_nVideoW*m_nVideoH);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
// v·ÖÁ¿
glActiveTexture(GL_TEXTURE2);//???????????GL_TEXTURE2
glBindTexture(GL_TEXTURE_2D, id_v);
// glPixelStorei(GL_UNPACK_ROW_LENGTH, m_buffer->StrideV());
glTexImage2D(GL_TEXTURE_2D,
0, GL_RED,
m_nVideoW/2,
m_nVideoH/2,
0, GL_RED,
GL_UNSIGNED_BYTE,
m_pBufYuv420p + m_nVideoW*m_nVideoH + m_nVideoW*m_nVideoH/4);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glUniform1i(textureUniformY, 0);
glUniform1i(textureUniformU, 1);
glUniform1i(textureUniformV, 2);
return 0;
}
int CPlayWidget::loadRtcI420Texture()
{
if(nullptr == m_buffer)
return 0;
glActiveTexture(GL_TEXTURE0);
//???????y????????????
glBindTexture(GL_TEXTURE_2D, id_y);
glPixelStorei(GL_UNPACK_ROW_LENGTH, m_buffer->StrideY());
glTexImage2D(GL_TEXTURE_2D,
0,
GL_RED,
m_nVideoW,
m_nVideoH,
0,
GL_RED,
GL_UNSIGNED_BYTE,
m_buffer->DataY());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
//????u????????
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, id_u);
glPixelStorei(GL_UNPACK_ROW_LENGTH, m_buffer->StrideU());
glTexImage2D(GL_TEXTURE_2D,
0, GL_RED,
m_nVideoW/2,
m_nVideoH/2,
0,
GL_RED,
GL_UNSIGNED_BYTE,
m_buffer->DataU());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
// v·ÖÁ¿
glActiveTexture(GL_TEXTURE2);//???????????GL_TEXTURE2
glBindTexture(GL_TEXTURE_2D, id_v);
glPixelStorei(GL_UNPACK_ROW_LENGTH, m_buffer->StrideV());
glTexImage2D(GL_TEXTURE_2D,
0, GL_RED,
m_nVideoW/2,
m_nVideoH/2,
0, GL_RED,
GL_UNSIGNED_BYTE,
m_buffer->DataV());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glUniform1i(textureUniformY, 0);
glUniform1i(textureUniformU, 1);
glUniform1i(textureUniformV, 2);
return 0;
}
int CPlayWidget::loadRgbTexture()
{
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, id_rgb);
glTexImage2D(GL_TEXTURE_2D,
0,
GL_RGBA,
m_nVideoW,
m_nVideoH,
0,
GL_BGRA,
GL_UNSIGNED_BYTE,
m_pBufRgb32);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glUniform1i(textureUniformRGB, 0);
return 0;
}

View File

@ -0,0 +1,86 @@
/*
* @Author: your name
* @Date: 2021-10-05 19:32:04
* @LastEditTime: 2021-10-16 21:34:14
* @LastEditors: your name
* @Description: In User Settings Edit
* @FilePath: \src\cplaywidget.h
*/
#ifndef GLPLAYWIDGET_H
#define GLPLAYWIDGET_H
#include <QOpenGLWidget>
#include <QOpenGLShaderProgram>
#include <QOpenGLFunctions>
#include <QOpenGLTexture>
#include <QFile>
#include <QTimer>
#include "api/video/i420_buffer.h"
#define ATTRIB_VERTEX 3
#define ATTRIB_TEXTURE 4
class CPlayWidget:public QOpenGLWidget,protected QOpenGLFunctions
{
Q_OBJECT
public slots:
void OnPaintData(const rtc::scoped_refptr<webrtc::I420BufferInterface> &buffer);
void OnCameraData(rtc::scoped_refptr<webrtc::I420BufferInterface> &);
public:
typedef enum{
TYPE_YUV420P,
TYPE_RGB32,
TYPE_I420,
TYPE_UNSET,
}IMG_TYPE;
CPlayWidget(QWidget* parent);
~CPlayWidget();
int SetDataType(IMG_TYPE);
int OnCameraData(uint8_t *);
int SetImgSize(uint32_t width,uint32_t );
protected:
QTimer tm;
void initializeGL() override;
void resizeGL(int w, int h) override;
void paintGL() override;
private:
IMG_TYPE mType; //YUV420P
GLuint textureUniformY; //
GLuint textureUniformU; //
GLuint textureUniformV; //
GLuint textureUniformRGB; //
GLuint textureUnifromRGB; //rgb32
GLuint id_rgb;
GLuint id_y;
GLuint id_u;
GLuint id_v;
QOpenGLTexture* m_pTextureRGB; //RGB
QOpenGLTexture* m_pTextureY; //
QOpenGLTexture* m_pTextureU; //
QOpenGLTexture* m_pTextureV; //
QOpenGLShader *m_pVSHader; //
QOpenGLShader *m_pFSHader; //
QOpenGLShaderProgram *m_pShaderProgram; //
int m_nVideoW; //
int m_nVideoH; //
unsigned char *m_pBufYuv420p;
unsigned char* m_pBufRgb32;
void initShaderYuv();
void initShaderRgb();
void initShaderI420();
int loadYuvTexture();
int loadRtcI420Texture();
int loadRgbTexture();
rtc::scoped_refptr<webrtc::I420BufferInterface> m_buffer;
};
#endif

View File

@ -0,0 +1,87 @@
#include "mainwindow.h"
#include "rtc.h"
#include <QApplication>
#include "modules/video_capture/video_capture.h"
#include "video_source_impl.h"
#include <QString>
#include <QDebug>
#include "modules/video_capture/video_capture_factory.h"
#include "rtc_base/logging.h"
#include "camera_video_sink.h"
#include "video_source_impl.h"
#include <QMetaType>
# pragma comment(lib, "secur32.lib")
# pragma comment(lib, "winmm.lib")
# pragma comment(lib, "dmoguids.lib")
# pragma comment(lib, "wmcodecdspuuid.lib")
# pragma comment(lib, "msdmo.lib")
# pragma comment(lib, "Strmiids.lib")
# pragma comment(lib, "User32.lib")
void EnumCapture()
{
rtc::WinsockInitializer winsock_init;
rtc::Win32SocketServer w32_ss;
rtc::Win32Thread w32_thread(&w32_ss);
rtc::ThreadManager::Instance()->SetCurrentThread(&w32_thread);
rtc::InitializeSSL();
std::unique_ptr<webrtc::VideoCaptureModule::DeviceInfo> info(
webrtc::VideoCaptureFactory::CreateDeviceInfo());
int num_devices = info->NumberOfDevices();
if (!info) {
RTC_LOG(LERROR) << "CreateDeviceInfo failed";
return;
}
for (int i = 0; i < num_devices; ++i) {
char name[128];
char id[128];
info->GetDeviceName(i,name,128,id,128,nullptr,0);
int cap_len = info->NumberOfCapabilities(id);
for(int j = 0;j < cap_len;j++){
webrtc::VideoCaptureCapability p;
info->GetCapability(id,j,p);
qDebug()<<QString::asprintf("GetCapability: %s %d %d ",id,p.width,p.height);
}
printf("%s\r\n",name);
//使用索引i创建capture对象
}
}
int main(int argc, char *argv[])
{
rtc::WinsockInitializer winsock_init;
rtc::Win32SocketServer w32_ss;
rtc::Win32Thread w32_thread(&w32_ss);
rtc::ThreadManager::Instance()->SetCurrentThread(&w32_thread);
rtc::InitializeSSL();
// std::unique_ptr<CameraVideoSink> capturer;
// int num_devices = info->NumberOfDevices();
// for (int i = 0; i < num_devices; ++i) {
//// capturer.reset(CameraVideoSink::Create(kWidth, kHeight, kFps, i));
//// if (capturer) {
//// break;
//// }
// }
setbuf(stdout, NULL);
qRegisterMetaType<rtc::scoped_refptr<webrtc::I420BufferInterface>>("rtc::scoped_refptr<webrtc::I420BufferInterface>");
qRegisterMetaType<rtc::scoped_refptr<webrtc::I420BufferInterface>>("rtc::scoped_refptr<webrtc::I420BufferInterface>&");
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
QApplication a(argc, argv);
MainWindow w;
// QObject::connect((CameraVideoSink*)capturer.get(),SIGNAL(UpdateFrame(rtc::scoped_refptr<webrtc::I420BufferInterface>&)),&w,
// SLOT(OnUpdateFrame( rtc::scoped_refptr<webrtc::I420BufferInterface>&)),Qt::ConnectionType::AutoConnection);
w.show();
return a.exec();
}

View File

@ -0,0 +1,49 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#
MainWindow::MainWindow(QWidget *parent)
: QssMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->openGLWidget->SetImgSize(640,480);
ui->openGLWidget->show();
std::unique_ptr<webrtc::VideoCaptureModule::DeviceInfo> info(
webrtc::VideoCaptureFactory::CreateDeviceInfo());
if (!info) {
RTC_LOG(LERROR) << "CreateDeviceInfo failed";
}
int num_devices = info->NumberOfDevices();
for (int i = 0; i < num_devices; ++i) {
char name[100];
info->GetDeviceName(i,name,100,nullptr,0,nullptr,0);
ui->comboBox->addItem(QString::asprintf("%s",name),i);
// capturer.reset(CameraVideoSink::Create(kWidth, kHeight, kFps, i));
// if (capturer) {
// break;
// }
}
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::OnUpdateFrame( rtc::scoped_refptr<webrtc::I420BufferInterface>& buffer)
{
ui->openGLWidget->OnCameraData(buffer);
}
void MainWindow::on_pushButton_clicked()
{
int id = ui->comboBox->currentData().toInt();
m_capturer.reset(CameraVideoSink::Create(1280, 800, 25, id));
if (!m_capturer) {
qDebug()<<"error";
}
}

View File

@ -0,0 +1,28 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "rtc.h"
#include "api/video/i420_buffer.h"
#include "Qss.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QssMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void OnUpdateFrame( rtc::scoped_refptr<webrtc::I420BufferInterface>& buffer);
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
std::unique_ptr<CameraVideoSink> m_capturer;
};
#endif // MAINWINDOW_H

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1056</width>
<height>616</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="1,12">
<item>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1,1,1,1,3">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>摄像头:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox"/>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>采集</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>麦克风:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_2"/>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="CPlayWidget" name="openGLWidget"/>
</item>
</layout>
</widget>
</widget>
<customwidgets>
<customwidget>
<class>CPlayWidget</class>
<extends>QOpenGLWidget</extends>
<header>cplaywidget.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,42 @@
#ifndef RTC_H
#define RTC_H
#include "modules/video_capture/video_capture_factory.h"
#include "rtc_base/logging.h"
#include "camera_video_sink.h"
#include "video_source_impl.h"
#include "api/peer_connection_interface.h"
#include "api/create_peerconnection_factory.h"
#include "rtc_base/checks.h"
#include "rtc_base/ssl_adapter.h"
#include "rtc_base/win32_socket_init.h"
#include "rtc_base/win32_socket_server.h"
#include "absl/memory/memory.h"
#include "absl/types/optional.h"
#include "api/audio/audio_mixer.h"
#include "api/audio_codecs/audio_decoder_factory.h"
#include "api/audio_codecs/audio_encoder_factory.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/audio_options.h"
#include "api/create_peerconnection_factory.h"
#include "api/rtp_sender_interface.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
#include "api/video_codecs/video_decoder_factory.h"
#include "api/video_codecs/video_encoder_factory.h"
#include "modules/audio_device/include/audio_device.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "modules/video_capture/video_capture.h"
#include "modules/video_capture/video_capture_factory.h"
#include "p2p/base/port_allocator.h"
#include "pc/video_track_source.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/ref_counted_object.h"
#include "rtc_base/rtc_certificate_generator.h"
#endif // RTC_H

View File

@ -0,0 +1,75 @@
#include "video_source_impl.h"
#include "api/video/i420_buffer.h"
#include "api/video/video_rotation.h"
#include "rtc_base/logging.h"
VideoSource::~VideoSource() = default;
void VideoSource::OnFrame(const webrtc::VideoFrame& original_frame) {
int cropped_width = 0;
int cropped_height = 0;
int out_width = 0;
int out_height = 0;
webrtc::VideoFrame frame = MaybePreprocess(original_frame);
if (!video_adapter_.AdaptFrameResolution(
frame.width(), frame.height(), frame.timestamp_us() * 1000,
&cropped_width, &cropped_height, &out_width, &out_height)) {
// Drop frame in order to respect frame rate constraint.
return;
}
if (out_height != frame.height() || out_width != frame.width()) {
// Video adapter has requested a down-scale. Allocate a new buffer and
// return scaled version.
// For simplicity, only scale here without cropping.
rtc::scoped_refptr<webrtc::I420Buffer> scaled_buffer =
webrtc::I420Buffer::Create(out_width, out_height);
scaled_buffer->ScaleFrom(*frame.video_frame_buffer()->ToI420());
webrtc::VideoFrame::Builder new_frame_builder =
webrtc::VideoFrame::Builder()
.set_video_frame_buffer(scaled_buffer)
.set_rotation(webrtc::kVideoRotation_0)
.set_timestamp_us(frame.timestamp_us())
.set_id(frame.id());
broadcaster_.OnFrame(new_frame_builder.build());
} else {
// No adaptations needed, just return the frame as is.
broadcaster_.OnFrame(frame);
}
}
rtc::VideoSinkWants VideoSource::GetSinkWants() {
return broadcaster_.wants();
}
void VideoSource::AddOrUpdateSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink,
const rtc::VideoSinkWants& wants) {
broadcaster_.AddOrUpdateSink(sink, wants);
UpdateVideoAdapter();
}
void VideoSource::RemoveSink(
rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) {
broadcaster_.RemoveSink(sink);
UpdateVideoAdapter();
}
void VideoSource::UpdateVideoAdapter() {
video_adapter_.OnOutputFormatRequest(std::pair<int, int>(1,1),this->broadcaster_.wants().max_pixel_count,broadcaster_.wants().max_framerate_fps);
}
webrtc::VideoFrame VideoSource::MaybePreprocess(
const webrtc::VideoFrame& frame) {
std::lock_guard<std::mutex> lock(mutex_);
if (preprocessor_ != nullptr) {
return preprocessor_->Preprocess(frame);
} else {
return frame;
}
}

View File

@ -0,0 +1,57 @@
#ifndef VIDEO_SOURCE_IMPL_H
#define VIDEO_SOURCE_IMPL_H
#include "modules/video_capture/video_capture_factory.h"
#include "rtc_base/logging.h"
#include "modules/video_capture/video_capture_impl.h"
#include "api/video/i420_buffer.h"
#include "api/video/video_rotation.h"
#include "api/video/video_source_interface.h"
#include "rtc_base/logging.h"
#include "media/base/video_broadcaster.h"
#include "media/base/video_adapter.h"
#include <mutex>
#include <QObject>
class VideoSource : public QObject,
public rtc::VideoSourceInterface<webrtc::VideoFrame>{
Q_OBJECT
public:
class FramePreprocessor {
public:
virtual ~FramePreprocessor() = default;
virtual webrtc::VideoFrame Preprocess(const webrtc::VideoFrame& frame) = 0;
};
public:
~VideoSource() override;
void AddOrUpdateSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override;
void RemoveSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override;
void SetFramePreprocessor(std::unique_ptr<FramePreprocessor> preprocessor) {
std::lock_guard<std::mutex> lock(mutex_);
preprocessor_ = std::move(preprocessor);
}
protected:
void OnFrame(const webrtc::VideoFrame& frame);
rtc::VideoSinkWants GetSinkWants();
private:
void UpdateVideoAdapter();
webrtc::VideoFrame MaybePreprocess(const webrtc::VideoFrame& frame);
private:
std::unique_ptr<FramePreprocessor> preprocessor_;
std::mutex mutex_;
rtc::VideoBroadcaster broadcaster_;
cricket::VideoAdapter video_adapter_;
};
#endif // VIDEO_SOURCE_IMPL_H

View File

@ -0,0 +1,45 @@
QT += core gui
include(D:\\project\\c++qt\\qsswraper\\qsswraper.pri)
RESOURCES += $$PWD/qss/qss.qrc
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS NOMINMAX WEBRTC_WIN NOMINMAX WIN32_LEAN_AND_MEAN WEBRTC_WIN _CRT_SECURE_NO_WARNINGS WIN32 QT_NO_EMIT
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
INCLUDEPATH += third/include/
LIBS += -L$$PWD/third/lib libwebrtc.lib ole32.lib oleaut32.lib strmiids.lib advapi32.lib
SOURCES += \
src/camera_video_sink.cpp \
src/cplaywidget.cpp \
src/main.cpp \
src/mainwindow.cpp \
src/video_source_impl.cpp
HEADERS += \
src/camera_video_sink.h \
src/cplaywidget.h \
src/mainwindow.h \
src/rtc.h \
src/video_source_impl.h
FORMS += \
src/mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

View File

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 7.0.1, 2022-05-12T01:53:25. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{a6d5c39e-5a78-4e2f-8f04-3f619cffa362}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">6</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
<value type="bool" key="UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/project/c++qt/webrtc_capture/build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/project/c++qt/webrtc_capture/build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/project/c++qt/webrtc_capture/build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/project/c++qt/webrtc_capture/webrtc_demo/webrtc_demo.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/project/c++qt/webrtc_capture/webrtc_demo/webrtc_demo.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/project/c++qt/webrtc_capture/build-webrtc_demo-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.0, 2022-05-09T01:05:55. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{76c403c8-c45c-47e2-adcf-7c2390aa8798}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">6</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Replacement for &quot;Desktop Qt 5.14.0 MSVC2017 64bit&quot;</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Replacement for &quot;Desktop Qt 5.14.0 MSVC2017 64bit&quot;</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5140.win64_msvc2017_64_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\webrtc_demo</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\webrtc_demo</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\project\c++qt\webrtc_capture\webrtc_demo</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">webrtc_demo2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/project/c++qt/webrtc_capture/webrtc_demo/webrtc_demo.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/project/c++qt/webrtc_capture/webrtc_demo/webrtc_demo.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/project/c++qt/webrtc_capture/webrtc_demo</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@ -0,0 +1,319 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.0, 2021-10-13T22:33:26. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{978c9f3e-040c-4248-8a94-d8dbc0368d0d}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.0 MSVC2017 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.0 MSVC2017 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5140.win64_msvc2017_64_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/project/qt/build-webrtc_demo-Desktop_Qt_5_14_0_MSVC2017_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/project/qt/build-webrtc_demo-Desktop_Qt_5_14_0_MSVC2017_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/project/qt/build-webrtc_demo-Desktop_Qt_5_14_0_MSVC2017_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/project/qt/webrtc_demo/webrtc_demo.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/project/qt/webrtc_demo/webrtc_demo.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/project/qt/build-webrtc_demo-Desktop_Qt_5_14_0_MSVC2017_64bit-Debug</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>