修改icon引入方式
16
generate_rc.py
Normal file
@ -0,0 +1,16 @@
|
||||
import shutil
|
||||
import subprocess
|
||||
import os
|
||||
path = os.path.dirname(os.path.realpath(__file__))
|
||||
icon_path = os.path.join(path, 'icons')
|
||||
|
||||
with open(os.path.join(path, 'res.qrc'), 'w') as f:
|
||||
f.write(f'<RCC>\n')
|
||||
f.write(f' <qresource prefix="/">\n')
|
||||
for icon in os.listdir(icon_path):
|
||||
f.write(f' <file alias="{}">{"icons/" + icon}</file>\n')
|
||||
f.write(f' </qresource>\n')
|
||||
f.write(f'</RCC>\n')
|
||||
|
||||
# subprocess.run(['pyrcc5', 'res.qrc', '-o', 'rc.py'], cwd=os.path.join(path, '..'))
|
||||
# shutil.rmtree(icon_path)
|
BIN
icons/AI变化检测.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
@ -1 +0,0 @@
|
||||
<?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="1621607588767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="39677" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M288 160v32H160v704h704V192h-128V160h-64v32H352V160zM224 256h64v32h64V256h320v32h64V256h64v64H224z m0 128h576v448H224z m424.992 72.992L480 625.984l-72.992-72.96-46.016 45.984 96 96 23.008 21.984 23.008-21.984 192-192z" p-id="39678" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 638 B |
@ -1 +0,0 @@
|
||||
<?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="1621607368815" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="39116" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M604.992 131.008c-25.728 0-52.48 8.736-72.992 26.976v1.024L531.008 160 156.992 531.008c-38.72 38.72-38.496 101.856-1.984 142.976l0.992 1.024h0.992l192 192c38.752 38.72 101.888 38.496 143.008 1.984v-0.992L864 496c40.512-40.512 41.76-105.28 3.008-144l-192-192a97.888 97.888 0 0 0-70.016-28.992z m-0.992 64.992c10.24 0 19.744 2.752 26.016 8.992l192 192c12.352 12.384 14.08 36.896-3.008 54.016l-161.024 160.992-244.992-244.992 162.016-160.992 0.992-1.024c8.128-6.72 18.24-8.992 28-8.992z m-236.992 216.992l244.992 244.992-163.008 163.008c-0.352 0.256-0.64 0.768-0.992 1.024-16.512 13.76-41.888 12.096-54.016 0L203.04 632c-0.512-0.64-0.512-1.376-1.024-2.016-13.12-16.48-12-41.984 0-53.984z" p-id="39117" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
icons/create.png
Before Width: | Height: | Size: 878 B |
@ -1 +0,0 @@
|
||||
<?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="1621607314296" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="38929" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M448 128c-35.36 0-64 28.64-64 64v2.016L221.984 296A64.288 64.288 0 0 0 192 288c-35.36 0-64 28.64-64 64 0 23.616 12.864 43.872 32 55.008V776.96c-19.136 11.136-32 31.36-32 55.008 0 35.36 28.64 64 64 64 23.616 0 43.872-12.864 55.008-32H648.96c11.136 19.136 31.36 32 55.008 32 35.36 0 64-28.64 64-64 0-12.736-3.52-24.992-10.016-35.008L836 640a64.16 64.16 0 0 0 8-127.008l-60.992-182.976C793.12 318.624 800 304.352 800 288c0-35.36-28.64-64-64-64-16.384 0-30.624 6.88-42.016 16.992L511.04 179.008A64.384 64.384 0 0 0 448 128z m42.016 112l182.976 60c4.896 25.76 25.28 46.112 51.008 51.008l60.992 181.984A63.68 63.68 0 0 0 768 576c0 13.248 4.128 25.76 11.008 36L700 768a63.616 63.616 0 0 0-51.008 32H247.04A63.392 63.392 0 0 0 224 776.992V407.04c19.136-11.136 32-31.36 32-55.008v-2.016l162.016-101.984c8.96 4.736 19.104 8 29.984 8 16.128 0 30.72-6.112 42.016-16z" p-id="38930" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
||||
<?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="1621608444143" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="63716" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M160 160v704h704V160z m64 64h576v576H224z m150.016 106.016l-45.024 44.992L465.984 512l-138.976 139.008 44.992 44.992 139.008-139.008 137.984 138.016 45.024-45.024L556 512l136-136-44.992-44.992-136 136z" p-id="63717" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 622 B |
@ -1 +0,0 @@
|
||||
<?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="1621607403815" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="39303" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M192 128v768h640v-256l-64 64v128H256V192h512v128l64 64V128z m524.992 224L672 396.992 754.016 480h-309.024v64h308.992L672 627.008 716.992 672l138.016-136.992 21.984-23.008-21.984-23.008z" p-id="39304" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 606 B |
@ -1 +0,0 @@
|
||||
<?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="1631612098602" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="53542" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M480 192L256 832h64l67.008-192h249.984L704 832h64L544 192z m32 91.008L614.016 576h-204z" p-id="53543" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 508 B |
@ -1 +0,0 @@
|
||||
<?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="1604376212656" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17876" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M128 128v288h64V237.984L466.016 512 192 786.016V608H128v288h288v-64H237.984L512 557.984 786.016 832H608v64h288v-288h-64v178.016L557.984 512 832 237.984V416h64V128h-288v64h178.016L512 466.016 237.984 192H416V128z" p-id="17877" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 632 B |
@ -1 +0,0 @@
|
||||
<?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="1621592174373" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18094" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M64 160v704h896V160z m64 64h768v444.992l-168.992-169.984-23.008-23.008-144.992 144.992-184-185.984-23.008-23.008-224 224z m640 64a63.968 63.968 0 1 0 0 128 63.968 63.968 0 1 0 0-128z m-416 215.008L646.016 800H128v-72.992z m352 64l192 192V800h-159.008l-132.992-134.016z" p-id="18095" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 689 B |
@ -1 +0,0 @@
|
||||
<?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="1621592112747" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17907" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M160 160v128h32v448H160v128h128v-32h448v32h128v-128h-32V288h32V160h-128v32H288V160z m128 96h448v32h32v448h-32v32H288v-32H256V288h32z m32 64v256h128v128h256v-256h-128v-128z m64 64h128v128h-128z m192 128h64v128h-128v-64h64z" p-id="17908" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 642 B |
@ -1 +0,0 @@
|
||||
<?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="1621607539796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="39490" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 94.016L148.992 225.952 128 234.016v489.024l16.992 8.992 352 192 15.008 8 15.008-8 352-192 16.992-8.992V233.984l-20.992-8z m0 67.968l268 97.024L512 380.992 244 259.008zM512 224c-35.36 0-64 14.4-64 32s28.64 32 64 32 64-14.4 64-32-28.64-32-64-32zM192 304.992l288 131.008v406.016l-288-157.024z m640 0v380l-288 157.024V435.968zM404.992 448c-11.84 0-20.992 11.36-20.992 28 0 21.376 11.36 43.52 28 52.992 4.736 2.368 10.24 2.016 15.008 2.016 7.104 0 11.232-2.24 16-7.008 2.368-4.736 4.992-11.52 4.992-20.992 0-21.376-14.4-43.52-31.008-52.992-4.736-2.4-7.232-2.016-12-2.016z m236 32a30.272 30.272 0 0 0-8 3.008c-19.52 8.352-36 36-36 60.992 0 8.384-0.64 16.384 5.024 22.016 5.6 5.6 11.616 8.96 20 8.96 5.6 0 11.36-0.224 16.96-2.976 19.52-11.136 33.024-36.736 33.024-59.008 0-19.52-8.256-32.992-24.992-32.992-1.376 0-3.648-0.384-6.016 0z m-316.992 40.992c-11.872 0-20.992 11.392-20.992 28 0 21.376 11.36 42.496 28 52 4.736 2.368 9.248 3.008 13.984 3.008 7.136 0 12.256-2.24 16.992-7.008 2.4-4.736 5.024-12.48 5.024-21.984 0-21.376-14.4-42.496-31.008-52-4.736-2.368-7.264-2.016-12-2.016z m428.992 37.024c-2.368 0.352-5.248 0.608-8 1.984-19.52 8.384-36 36.992-36 62.016 0 8.352 0.384 16.352 6.016 21.984 5.632 5.632 10.624 8 18.976 8 5.632 0 11.392 0.736 17.024-2.016 19.52-11.104 32.992-36.736 32.992-58.976 0-19.52-8.256-33.024-24.992-33.024-1.376 0-3.648-0.352-6.016 0z m-508 30.976c-11.84 0-20.992 11.392-20.992 28 0 21.376 11.36 43.52 28 53.024 4.736 2.368 10.24 1.984 15.008 1.984 7.104 0 11.232-2.24 16-7.008 2.368-4.736 4.992-11.52 4.992-20.992 0-21.376-14.4-43.52-31.008-52.992-4.736-2.368-7.232-2.016-12-2.016z" p-id="39491" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
icons/open.png
Before Width: | Height: | Size: 2.4 KiB |
@ -1 +0,0 @@
|
||||
<?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="1632464494060" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8621" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><defs><style type="text/css"></style></defs><path d="M291.3888 489.216a132.48 132.48 0 1 1 0.064-264.96 132.48 132.48 0 0 1-0.064 264.96z m-132.48 335.488V607.936a176.064 176.064 0 0 1 132.48-59.84c46.976 0 89.664 18.368 121.28 48.32a454.144 454.144 0 0 1 452.48-282.88v511.168H158.9728zM82.4928 295.168a41.216 41.216 0 1 1-82.368 0C0.0608 252.16 10.3008 210.56 29.7568 173.12a41.152 41.152 0 1 1 73.088 38.08 181.632 181.632 0 0 0-20.416 83.968z m102.976-163.84A41.152 41.152 0 1 1 150.0768 56.832 259.072 259.072 0 0 1 278.9728 32.704a41.216 41.216 0 0 1-5.696 82.304 175.68 175.68 0 0 0-87.872 16.384z m216.32 17.088a41.28 41.28 0 0 1 42.368-70.656 289.28 289.28 0 0 1 89.216 85.312 41.28 41.28 0 0 1-67.84 46.72c-17.28-25.024-38.4-46.08-63.808-61.376z m172.16 123.52a41.152 41.152 0 1 1-49.856-65.728 475.392 475.392 0 0 1 100.096-58.56 41.152 41.152 0 1 1 32.576 75.776 392.96 392.96 0 0 0-82.816 48.512z m212.992-81.984a41.216 41.216 0 0 1-9.728-81.92c31.936-3.776 65.792-5.568 102.4-5.568h5.12a41.216 41.216 0 0 1-0.192 82.432h-4.928c-33.472 0-64.128 1.664-92.672 5.056z m154.816 17.664a41.216 41.216 0 1 1 82.368 0v106.048a41.216 41.216 0 1 1-82.368 0V207.616z m0 249.6a41.216 41.216 0 1 1 82.368 0v106.048a41.216 41.216 0 1 1-82.368 0V457.216z m0 256a41.216 41.216 0 1 1 82.368 0v106.048a41.216 41.216 0 1 1-82.368 0v-106.048z m4.352 196.352a41.216 41.216 0 0 1 0 82.432h-105.92a41.216 41.216 0 0 1 0-82.432h105.92z m-247.168 0a41.216 41.216 0 0 1 0 82.432H592.9568a41.216 41.216 0 0 1 0-82.432h105.92z m-247.168 0a41.216 41.216 0 0 1 0 82.432H345.7888a41.216 41.216 0 0 1 0-82.432h105.92z m-247.168 0a41.216 41.216 0 0 1 0 82.432H98.6208a41.216 41.216 0 0 1 0-82.432h105.92zM82.4288 825.6A41.216 41.216 0 1 1 0.0608 825.6v-106.048a41.216 41.216 0 1 1 82.368 0v106.048z m0-249.6A41.216 41.216 0 1 1 0.0608 576V470.016a41.216 41.216 0 1 1 82.368 0v106.048z m0-248.576a41.216 41.216 0 1 1-82.368 0v-23.872a41.216 41.216 0 1 1 82.368 0v23.872z" fill="#548235" p-id="8622" data-spm-anchor-id="a313x.7781069.0.i16" class="selected"></path></svg>
|
Before Width: | Height: | Size: 2.3 KiB |
@ -1 +0,0 @@
|
||||
<?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="1631610702873" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="53289" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M160 128v256h576V128z m64 64h448v128H224z m544 32v64h32v136l-296.992 88.992-23.008 7.008V608h-64v288h192v-288h-64v-40l296.992-88.992 23.008-7.008V224z m-288 448h64v160h-64z" p-id="53290" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 593 B |
@ -1 +0,0 @@
|
||||
<?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="1621606142680" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18655" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 64c-44.256 0-80.992 31.008-92 72C408.736 131.36 396.864 128 384 128c-52.64 0-96 43.36-96 96v344l-28-28a96.736 96.736 0 0 0-136 0 96.736 96.736 0 0 0 0 136l216.992 216.992C378.624 930.496 430.624 960 492 960H640c123.36 0 224-100.64 224-224V352c0-52.64-43.36-96-96-96a94.4 94.4 0 0 0-32 6.016V224c0-52.64-43.36-96-96-96-12.864 0-24.736 3.36-36 8C592.992 95.008 556.256 64 512 64z m0 64c18.112 0 32 13.888 32 32v320h64V224c0-18.112 13.888-32 32-32 18.112 0 32 13.888 32 32v256h64v-128c0-18.112 13.888-32 32-32 18.112 0 32 13.888 32 32v384c0 88.736-71.264 160-160 160h-148c-40.736 0-75.744-19.872-104.992-48.992l-218.016-216a32.448 32.448 0 0 1 0-46.016 32.448 32.448 0 0 1 46.016 0l81.984 83.008L352 723.008V224c0-18.112 13.888-32 32-32 18.112 0 32 13.888 32 32v256h64V160c0-18.112 13.888-32 32-32z" p-id="18656" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
67
icons/qt.svg
@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="462pt"
|
||||
height="339pt"
|
||||
viewBox="0 0 462 339"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="TheQtCompany_logo_2.svg">
|
||||
<metadata
|
||||
id="metadata20">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs18" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1536"
|
||||
inkscape:window-height="801"
|
||||
id="namedview16"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.1138643"
|
||||
inkscape:cx="270.58047"
|
||||
inkscape:cy="174.65092"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<path
|
||||
fill="#548235"
|
||||
d=" M 63.50 0.00 L 462.00 0.00 L 462.00 274.79 C 440.60 296.26 419.13 317.66 397.61 339.00 L 0.00 339.00 L 0.00 63.39 C 21.08 42.18 42.34 21.13 63.50 0.00 Z"
|
||||
id="path6" />
|
||||
<path
|
||||
d=" M 122.37 71.33 C 137.50 61.32 156.21 58.79 174.00 58.95 C 190.94 59.16 208.72 62.13 222.76 72.24 C 232.96 79.41 239.59 90.48 244.01 101.93 C 251.16 120.73 253.26 141.03 253.50 161.01 C 253.53 181.13 252.62 201.69 245.96 220.86 C 241.50 233.90 233.01 245.48 221.81 253.52 C 229.87 266.58 238.09 279.54 246.15 292.60 C 236.02 297.27 225.92 301.97 215.78 306.62 C 207.15 292.38 198.56 278.11 189.90 263.89 C 178.19 265.81 166.21 265.66 154.44 264.36 C 140.34 262.67 125.97 258.37 115.09 248.88 C 106.73 241.64 101.48 231.51 97.89 221.21 C 92.01 203.79 90.43 185.25 90.16 166.97 C 90.02 147.21 91.28 127.14 97.24 108.18 C 101.85 93.92 109.48 79.69 122.37 71.33 Z"
|
||||
id="path8"
|
||||
fill="#ffffff" />
|
||||
<path
|
||||
d=" M 294.13 70.69 C 304.73 70.68 315.33 70.68 325.93 70.69 C 325.96 84.71 325.92 98.72 325.95 112.74 C 339.50 112.76 353.05 112.74 366.60 112.75 C 366.37 121.85 366.12 130.95 365.86 140.05 C 352.32 140.08 338.79 140.04 325.25 140.07 C 325.28 163.05 325.18 186.03 325.30 209.01 C 325.56 215.30 325.42 221.94 328.19 227.75 C 330.21 232.23 335.65 233.38 340.08 233.53 C 348.43 233.50 356.77 233.01 365.12 232.86 C 365.63 241.22 366.12 249.59 366.60 257.95 C 349.99 260.74 332.56 264.08 316.06 258.86 C 309.11 256.80 302.63 252.19 299.81 245.32 C 294.76 233.63 294.35 220.62 294.13 208.07 C 294.11 185.40 294.13 162.74 294.12 140.07 C 286.73 140.05 279.34 140.08 271.95 140.05 C 271.93 130.96 271.93 121.86 271.95 112.76 C 279.34 112.73 286.72 112.77 294.11 112.74 C 294.14 98.72 294.10 84.71 294.13 70.69 Z"
|
||||
id="path10"
|
||||
fill="#ffffff" />
|
||||
<path
|
||||
fill="#548235"
|
||||
d=" M 160.51 87.70 C 170.80 86.36 181.60 86.72 191.34 90.61 C 199.23 93.73 205.93 99.84 209.47 107.58 C 214.90 119.31 216.98 132.26 218.03 145.05 C 219.17 162.07 219.01 179.25 216.66 196.17 C 215.01 206.24 212.66 216.85 205.84 224.79 C 198.92 232.76 188.25 236.18 178.01 236.98 C 167.21 237.77 155.82 236.98 146.07 231.87 C 140.38 228.84 135.55 224.09 132.73 218.27 C 129.31 211.30 127.43 203.69 126.11 196.07 C 122.13 171.91 121.17 146.91 126.61 122.89 C 128.85 113.83 132.11 104.53 138.73 97.70 C 144.49 91.85 152.51 88.83 160.51 87.70 Z"
|
||||
id="path12" />
|
||||
</svg>
|
Before Width: | Height: | Size: 3.8 KiB |
BIN
icons/save.png
Before Width: | Height: | Size: 1.0 KiB |
@ -1 +0,0 @@
|
||||
<?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="1631608141807" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="53038" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M480 160c-41.376 0-76.64 27.008-90.016 64H128v64h262.016c13.344 36.992 48.608 64 89.984 64s76.64-27.008 90.016-64H896V224H569.984C556.64 187.008 521.408 160 480 160z m0 64c18.016 0 32 14.016 32 32 0 18.016-14.016 32-32 32-18.016 0-32-14.016-32-32 0-18.016 14.016-32 32-32z m224 192c-41.376 0-76.64 27.008-90.016 64H128v64h486.016c13.344 36.992 48.608 64 89.984 64s76.64-27.008 90.016-64H896v-64h-102.016c-13.344-36.992-48.608-64-89.984-64z m0 64c18.016 0 32 14.016 32 32 0 18.016-14.016 32-32 32-18.016 0-32-14.016-32-32 0-18.016 14.016-32 32-32z m-352 192c-41.376 0-76.64 27.008-90.016 64H128v64h134.016c13.344 36.992 48.608 64 89.984 64s76.64-27.008 90.016-64H896v-64H441.984c-13.344-36.992-48.608-64-89.984-64z m0 64c18.016 0 32 14.016 32 32 0 18.016-14.016 32-32 32-18.016 0-32-14.016-32-32 0-18.016 14.016-32 32-32z" p-id="53039" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
||||
<?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="1604050740174" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1304" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M288 164.992v694.016l48.992-32L827.008 512 336.96 196.992z m64 117.024L708.992 512 352 742.016z" fill="#548235" p-id="1305"></path></svg>
|
Before Width: | Height: | Size: 514 B |
@ -1 +0,0 @@
|
||||
<?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="1621607964079" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="63529" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M160 160v224h64v256H160v224h224v-64h256v64h224v-224h-64v-256h64V160h-224v64h-256V160H160z m64 64h96v96H224V224z m480 0h96v96h-96V224zM384 288h256v96h96v256h-96v96h-256v-96H288v-256h96V288zM224 704h96v96H224v-96z m480 0h96v96h-96v-96z" p-id="63530" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 654 B |
@ -1 +0,0 @@
|
||||
<?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="1621606055767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18281" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M608 96C431.616 96 288 239.616 288 416c0 76.64 26.88 146.88 72 202.016L104.992 872.96 151.04 919.04l254.976-255.008A317.504 317.504 0 0 0 608 736c176.384 0 320-143.616 320-320S784.384 96 608 96z m0 64c141.76 0 256 114.24 256 256s-114.24 256-256 256-256-114.24-256-256 114.24-256 256-256z m-32 128v96h-96v64h96v96h64v-96h96v-64h-96V288z" p-id="18282" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 756 B |
@ -1 +0,0 @@
|
||||
<?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="1621606083458" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18468" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M608 96C431.616 96 288 239.616 288 416c0 76.64 26.88 146.88 72 202.016L104.992 872.96 151.04 919.04l254.976-255.008A317.504 317.504 0 0 0 608 736c176.384 0 320-143.616 320-320S784.384 96 608 96z m0 64c141.76 0 256 114.24 256 256s-114.24 256-256 256-256-114.24-256-256 114.24-256 256-256z m-128 224v64h256v-64z" p-id="18469" fill="#548235"></path></svg>
|
Before Width: | Height: | Size: 730 B |
BIN
icons/公路变化.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 829 B After Width: | Height: | Size: 829 B |
Before Width: | Height: | Size: 997 B After Width: | Height: | Size: 997 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
icons/其他/打开工程.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
BIN
icons/其他/数据加载.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 483 B |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 814 B After Width: | Height: | Size: 814 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
icons/创建工程.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
icons/删除.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
icons/单窗口.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
icons/去云.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
icons/双窗口.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 997 B After Width: | Height: | Size: 997 B |
BIN
icons/噪声处理.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
icons/图像质量.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
icons/图像配准.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
icons/图层.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
icons/定位.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
icons/工具.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
icons/工具箱.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
icons/工程保存.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
icons/帮助.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
icons/平移.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
icons/弱监督.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
icons/影像.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
icons/打开工程.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
icons/插件配置-展开.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
icons/插件配置-收起.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
icons/插件配置.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
icons/放大.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
icons/数据加载.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/文件.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
icons/文档.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
icons/植被变化.bmp
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
icons/水体变化.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
icons/海岸变化.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
icons/滑坡变化.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
icons/滤波.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
icons/田地变化.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
icons/监督.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
icons/矢量.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/精度评估.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
icons/缩小.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
icons/缩放到.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
icons/网格关闭.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
icons/网格开.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
icons/视图设置.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
icons/退出.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
icons/选择要素.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
icons/道路变化.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
icons/遥感.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
icons/铁路变化.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
icons/非监督.png
Normal file
After Width: | Height: | Size: 10 KiB |
8
log.txt
@ -1,4 +1,4 @@
|
||||
2022-05-27 10:22:57,895 - root - INFO - lic data:2022-12-01 00:00:00
|
||||
2022-05-27 10:22:57,896 - root - INFO - remain_days: 187
|
||||
2022-05-27 10:22:59,201 - root - INFO - lic data:2022-12-01 00:00:00
|
||||
2022-05-27 10:22:59,201 - root - INFO - remain_days: 187
|
||||
2022-05-28 17:23:06,221 - root - INFO - lic data:2022-12-01 00:00:00
|
||||
2022-05-28 17:23:06,221 - root - INFO - remain_days: 186
|
||||
2022-05-28 17:23:07,606 - root - INFO - lic data:2022-12-01 00:00:00
|
||||
2022-05-28 17:23:07,606 - root - INFO - remain_days: 186
|
||||
|
@ -1,9 +1,12 @@
|
||||
from rscder.gui.actions import ActionManager
|
||||
from rscder.plugins.basic import BasicPlugin
|
||||
|
||||
from PyQt5.QtWidgets import QDialog, QAction, QApplication, QLabel, QTextEdit, QVBoxLayout
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtGui import QIcon
|
||||
|
||||
from rscder.utils.icons import IconInstance
|
||||
|
||||
class AboutDialog(QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super(AboutDialog, self).__init__(parent)
|
||||
@ -56,11 +59,10 @@ class AboutPlugin(BasicPlugin):
|
||||
}
|
||||
|
||||
def set_action(self):
|
||||
menu = self.ctx['help_menu']
|
||||
action = QAction('&关于', self.ctx['menu_bar'])
|
||||
|
||||
action = QAction(IconInstance().HELP, '&关于', ActionManager().help_menu)
|
||||
action.triggered.connect(self.on_about)
|
||||
|
||||
menu.addAction(action)
|
||||
ActionManager().help_menu.addAction(action)
|
||||
|
||||
def on_about(self):
|
||||
# print('on_about')
|
||||
|
@ -6,6 +6,7 @@ from rscder.plugins.basic import BasicPlugin
|
||||
from PyQt5.QtWidgets import QAction, QDialog, QHBoxLayout, QVBoxLayout, QPushButton
|
||||
from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtGui import QIcon
|
||||
from rscder.utils.icons import IconInstance
|
||||
from rscder.utils.project import BasicLayer, Project, RasterLayer, SingleBandRasterLayer
|
||||
from rscder.gui.layercombox import PairLayerCombox
|
||||
from osgeo import gdal
|
||||
@ -18,20 +19,20 @@ class MyDialog(QDialog):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setWindowTitle('差分法')
|
||||
self.setWindowIcon(QIcon(":/icons/logo.png"))
|
||||
self.setWindowIcon(IconInstance().LOGO)
|
||||
|
||||
self.setFixedWidth(500)
|
||||
# self.setFixedWidth(500)
|
||||
|
||||
self.layer_select = PairLayerCombox(self)
|
||||
|
||||
# self.number_input = QLineEdit(self)
|
||||
|
||||
self.ok_button = QPushButton('确定', self)
|
||||
self.ok_button.setIcon(QIcon(":/icons/ok.svg"))
|
||||
self.ok_button.setIcon(IconInstance().OK)
|
||||
self.ok_button.clicked.connect(self.on_ok)
|
||||
|
||||
self.cancel_button = QPushButton('取消', self)
|
||||
self.cancel_button.setIcon(QIcon(":/icons/cancel.svg"))
|
||||
self.cancel_button.setIcon(IconInstance().CANCEL)
|
||||
self.cancel_button.clicked.connect(self.on_cancel)
|
||||
|
||||
self.button_layout = QHBoxLayout()
|
||||
|
@ -1,3 +1,6 @@
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from threading import Thread
|
||||
|
||||
import numpy as np
|
||||
@ -7,8 +10,17 @@ from rscder.gui.layercombox import RasterLayerCombox
|
||||
from PyQt5.QtWidgets import QAction, QFileDialog, QDialog, QLabel, QHBoxLayout, QVBoxLayout, QPushButton
|
||||
from PyQt5.QtGui import QIcon
|
||||
from PyQt5.QtCore import Qt
|
||||
from osgeo import gdal
|
||||
from rscder.utils.project import SingleBandRasterLayer
|
||||
from osgeo import gdal
|
||||
from rscder.utils.icons import IconInstance
|
||||
from rscder.utils.project import Project, SingleBandRasterLayer
|
||||
|
||||
def kappa(confusion_matrix):
|
||||
pe_rows = np.sum(confusion_matrix, axis=0)
|
||||
pe_cols = np.sum(confusion_matrix, axis=1)
|
||||
sum_total = sum(pe_cols)
|
||||
pe = np.dot(pe_rows, pe_cols) / float(sum_total ** 2)
|
||||
po = np.trace(confusion_matrix) / float(sum_total)
|
||||
return (po - pe) / (1 - pe)
|
||||
|
||||
class EvalutationDialog(QDialog):
|
||||
|
||||
@ -16,7 +28,7 @@ class EvalutationDialog(QDialog):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setWindowTitle('精度评估')
|
||||
self.setWindowIcon(QIcon(":/icons/logo.png"))
|
||||
self.setWindowIcon(IconInstance().LOGO)
|
||||
|
||||
self.layer_select = RasterLayerCombox(self)
|
||||
self.gt_file = None
|
||||
@ -34,11 +46,11 @@ class EvalutationDialog(QDialog):
|
||||
hbox2.addWidget(self.layer_select)
|
||||
|
||||
self.ok_button = QPushButton('确定', self)
|
||||
self.ok_button.setIcon(QIcon(":/icons/ok.svg"))
|
||||
self.ok_button.setIcon(IconInstance().OK)
|
||||
self.ok_button.clicked.connect(self.on_ok)
|
||||
|
||||
self.cancel_button = QPushButton('取消', self)
|
||||
self.cancel_button.setIcon(QIcon(":/icons/cancel.svg"))
|
||||
self.cancel_button.setIcon(IconInstance().CANCEL)
|
||||
self.cancel_button.clicked.connect(self.on_cancel)
|
||||
|
||||
self.button_layout = QHBoxLayout()
|
||||
@ -77,7 +89,7 @@ class EvaluationPlugin(BasicPlugin):
|
||||
}
|
||||
|
||||
def set_action(self):
|
||||
self.action = QAction(QIcon(":/icons/evaluation.svg"), '精度评估', self.mainwindow)
|
||||
self.action = QAction(IconInstance().EVALUATION, '精度评估', self.mainwindow)
|
||||
self.action.triggered.connect(self.show_dialog)
|
||||
ActionManager().evaluation_menu.addAction(self.action)
|
||||
|
||||
@ -127,6 +139,31 @@ class EvaluationPlugin(BasicPlugin):
|
||||
for l in range(2):
|
||||
cfm[k,l] += np.sum((pred_block == k) & (gt_block == l))
|
||||
|
||||
result_path = os.path.join(Project().other_path, f'{layer.name}_{os.path.basename(gt)}_evaluation.txt')
|
||||
with open(result_path, 'w', encoding='utf-8') as f:
|
||||
f.write(f'预测结果:{layer.path}\n')
|
||||
f.write(f'真值: {gt}\n')
|
||||
f.write('混淆矩阵结果:\n')
|
||||
f.write(f'''
|
||||
真实值 | 变化 | 未变化
|
||||
预测值
|
||||
变化 {cfm[1,1]}\t, {cfm[1,0]}
|
||||
未变化 {cfm[0,1]}\t, {cfm[0,0]}
|
||||
|
||||
|
||||
归一化混淆矩阵:
|
||||
真实值 | 变化 | 未变化
|
||||
预测值
|
||||
变化 {cfm[1,1]/np.sum(cfm)}\t, {cfm[1,0]/np.sum(cfm)}
|
||||
未变化 {cfm[0,1]/np.sum(cfm)}\t, {cfm[0,0]/np.sum(cfm)}
|
||||
|
||||
OA: {(cfm[1,1] + cfm[0,0])/np.sum(cfm)}
|
||||
F1: {cfm[1,1] / (np.sum(cfm[1,:]) + np.sum(cfm[:,1]) - cfm[1,1])}
|
||||
Kappa: {kappa(cfm)}
|
||||
''')
|
||||
f.flush()
|
||||
|
||||
os.system(f'c:/windows/notepad.exe "{result_path}"')
|
||||
|
||||
self.send_message.emit('精度评估完成')
|
||||
|
||||
@ -134,7 +171,7 @@ class EvaluationPlugin(BasicPlugin):
|
||||
dialog = EvalutationDialog(self.mainwindow)
|
||||
dialog.exec_()
|
||||
if dialog.result() == QDialog.Accepted:
|
||||
layer = dialog.layer_select.current_layer()
|
||||
layer = dialog.layer_select.current_layer
|
||||
if not isinstance(layer, SingleBandRasterLayer):
|
||||
self.send_message.emit('请选择一个单波段栅格图层')
|
||||
return
|
||||
|
@ -1,5 +1,6 @@
|
||||
import shutil
|
||||
from rscder.gui.actions import ActionManager
|
||||
from rscder.utils.icons import IconInstance
|
||||
from rscder.utils.project import Project, PairLayer, ResultPointLayer
|
||||
from rscder.plugins.basic import BasicPlugin
|
||||
from PyQt5.QtWidgets import QDialog, QHBoxLayout, QFileDialog, QComboBox, QVBoxLayout, QPushButton, QLabel, QLineEdit, QAction
|
||||
@ -10,7 +11,7 @@ class ExportDialog(QDialog):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setWindowTitle('Export')
|
||||
self.setWindowIcon(QIcon(":/icons/logo.png"))
|
||||
self.setWindowIcon(IconInstance().LOGO)
|
||||
|
||||
self.out_path = None
|
||||
self.result_layer = None
|
||||
@ -23,7 +24,7 @@ class ExportDialog(QDialog):
|
||||
for layer in Project().layers.values():
|
||||
for result_layer in layer.layers:
|
||||
if isinstance(result_layer, ResultPointLayer):
|
||||
result_layer_select.addItem(QIcon(":/icons/layer.png"), result_layer.name, result_layer)
|
||||
result_layer_select.addItem(IconInstance().VECTOR, result_layer.name, result_layer)
|
||||
|
||||
def on_result_layer_select(index):
|
||||
self.result_layer = result_layer_select.currentData()
|
||||
@ -43,9 +44,9 @@ class ExportDialog(QDialog):
|
||||
out_path_btn = QPushButton('...', self)
|
||||
out_path_btn.clicked.connect(on_out_path_btn)
|
||||
|
||||
ok_btn = QPushButton('OK', self)
|
||||
ok_btn = QPushButton('确定', self)
|
||||
ok_btn.clicked.connect(self.accept)
|
||||
cancel_btn = QPushButton('Cancel', self)
|
||||
cancel_btn = QPushButton('取消', self)
|
||||
cancel_btn.clicked.connect(self.reject)
|
||||
|
||||
|
||||
@ -80,7 +81,7 @@ class ExportPlugin(BasicPlugin):
|
||||
}
|
||||
|
||||
def set_action(self):
|
||||
self.export_txt = QAction(QIcon(":/icons/document.png"), '导出为 Arcgis 兼容的TXT', self.mainwindow)
|
||||
self.export_txt = QAction(IconInstance().DOCUMENT, '导出为 Arcgis 兼容的TXT', self.mainwindow)
|
||||
self.export_txt.triggered.connect(self.export_txt_action)
|
||||
|
||||
ActionManager().export_menu.addAction(self.export_txt)
|
||||
|
@ -39,4 +39,11 @@
|
||||
module: table_result
|
||||
name: TableResult
|
||||
path: ./plugin\table_result
|
||||
version: 1.0.0
|
||||
- author: RSCDER
|
||||
description: Evaluation
|
||||
enabled: true
|
||||
module: evaluation
|
||||
name: Evaluation
|
||||
path: ./plugin\evaluation
|
||||
version: 1.0.0
|
@ -4,6 +4,7 @@ from PyQt5.QtWidgets import QDialog, QAction
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from PyQt5.QtCore import Qt, QModelIndex, pyqtSignal
|
||||
from rscder.gui.actions import ActionManager
|
||||
from rscder.utils.icons import IconInstance
|
||||
from rscder.utils.project import PairLayer, Project, RasterLayer, ResultPointLayer
|
||||
from rscder.plugins.basic import BasicPlugin
|
||||
from rscder.gui.layercombox import RasterLayerCombox
|
||||
@ -13,12 +14,12 @@ from skimage.morphology import disk, rectangle
|
||||
class FilterSetting(QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super(FilterSetting, self).__init__(parent)
|
||||
self.setWindowTitle('Filter Setting')
|
||||
self.setWindowTitle('滤波设置')
|
||||
# self.setWindowFlags(Qt.WindowStaysOnTopHint)
|
||||
self.setFixedSize(300, 200)
|
||||
# self.setFixedSize(300, 200)
|
||||
# self.setStyleSheet("QDialog{background-color:rgb(255,255,255);}")
|
||||
self.setWindowIcon(QtGui.QIcon(':/plugins/some_filter/icon.png'))
|
||||
self.setWindowIconText('Filter Setting')
|
||||
self.setWindowIcon(IconInstance().FILTER)
|
||||
# self.setWindowIconText('Filter Setting')
|
||||
# self.setWindowModality(Qt.ApplicationModal)
|
||||
self.initUI()
|
||||
# self.show()
|
||||
|
@ -6,6 +6,7 @@ from rscder.plugins.basic import BasicPlugin
|
||||
from PyQt5.QtWidgets import QAction, QDialog, QLabel, QHBoxLayout, QVBoxLayout, QPushButton
|
||||
from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtGui import QIcon
|
||||
from rscder.utils.icons import IconInstance
|
||||
|
||||
from rscder.utils.project import Project, ResultPointLayer, SingleBandRasterLayer
|
||||
from osgeo import gdal
|
||||
@ -15,7 +16,7 @@ class TableResultDialog(QDialog):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setWindowTitle('表格结果')
|
||||
self.setWindowIcon(QIcon(":/icons/logo.png"))
|
||||
self.setWindowIcon(IconInstance().LOGO)
|
||||
|
||||
self.layer_select = RasterLayerCombox(self)
|
||||
hbox = QHBoxLayout()
|
||||
@ -23,11 +24,11 @@ class TableResultDialog(QDialog):
|
||||
hbox.addWidget(self.layer_select)
|
||||
|
||||
self.ok_button = QPushButton('确定', self)
|
||||
self.ok_button.setIcon(QIcon(":/icons/ok.svg"))
|
||||
self.ok_button.setIcon(IconInstance().OK)
|
||||
self.ok_button.clicked.connect(self.on_ok)
|
||||
|
||||
self.cancel_button = QPushButton('取消', self)
|
||||
self.cancel_button.setIcon(QIcon(":/icons/cancel.svg"))
|
||||
self.cancel_button.setIcon(IconInstance().CANCEL)
|
||||
self.cancel_button.clicked.connect(self.on_cancel)
|
||||
|
||||
self.button_layout = QHBoxLayout()
|
||||
@ -58,7 +59,7 @@ class TableResultPlugin(BasicPlugin):
|
||||
}
|
||||
|
||||
def set_action(self):
|
||||
self.action = QAction(QIcon(":/icons/table_result.svg"), '表格结果', self.mainwindow)
|
||||
self.action = QAction(IconInstance().VECTOR, '表格结果', self.mainwindow)
|
||||
self.action.triggered.connect(self.show_dialog)
|
||||
ActionManager().position_menu.addAction(self.action)
|
||||
|
||||
|
@ -8,6 +8,7 @@ from PyQt5.QtWidgets import QAction, QDialog, QHBoxLayout, QVBoxLayout, QPushBut
|
||||
from PyQt5.QtGui import QIcon
|
||||
from PyQt5.QtCore import Qt
|
||||
from rscder.gui.layercombox import RasterLayerCombox
|
||||
from rscder.utils.icons import IconInstance
|
||||
from rscder.utils.project import Project, RasterLayer, SingleBandRasterLayer
|
||||
from threshold.otsu import OTSU
|
||||
from osgeo import gdal
|
||||
@ -17,7 +18,7 @@ class OTSUDialog(QDialog):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setWindowTitle('OTSU阈值')
|
||||
self.setWindowIcon(QIcon(":/icons/logo.png"))
|
||||
self.setWindowIcon(IconInstance().LOGO)
|
||||
|
||||
self.setFixedWidth(500)
|
||||
|
||||
@ -26,11 +27,11 @@ class OTSUDialog(QDialog):
|
||||
|
||||
|
||||
self.ok_button = QPushButton('确定', self)
|
||||
self.ok_button.setIcon(QIcon(":/icons/ok.svg"))
|
||||
self.ok_button.setIcon(IconInstance().OK)
|
||||
self.ok_button.clicked.connect(self.on_ok)
|
||||
|
||||
self.cancel_button = QPushButton('取消', self)
|
||||
self.cancel_button.setIcon(QIcon(":/icons/cancel.svg"))
|
||||
self.cancel_button.setIcon(IconInstance().CANCEL)
|
||||
self.cancel_button.clicked.connect(self.on_cancel)
|
||||
|
||||
self.button_layout = QHBoxLayout()
|
||||
|