mirror of
https://github.com/WMK965/965-Python-Learning-Repo.git
synced 2025-06-16 17:18:30 +00:00
更新示例代码
This commit is contained in:
parent
f426eae271
commit
18ad86d3fa
@ -2,9 +2,17 @@
|
|||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/Modules" isTestSource="false" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.11 (PythonLearning)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.11 (PythonLearning)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="PyNamespacePackagesService">
|
||||||
|
<option name="namespacePackageFolders">
|
||||||
|
<list>
|
||||||
|
<option value="$MODULE_DIR$/Modules" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
</module>
|
</module>
|
29
Modules/WcModule.py
Normal file
29
Modules/WcModule.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import jieba
|
||||||
|
import wordcloud
|
||||||
|
from PIL import Image
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
size = None # 210
|
||||||
|
maxword = None # 75
|
||||||
|
font = None # "AdobeHeitiStd-Regular.otf"
|
||||||
|
file = None # "../resources/111.txt"
|
||||||
|
mask = None # "../resources/mask.png"
|
||||||
|
|
||||||
|
|
||||||
|
def generate(size, maxword, font, file, mask):
|
||||||
|
raw_data = open(file, encoding="utf-8").read()
|
||||||
|
ls = jieba.lcut(raw_data)
|
||||||
|
text = ' '.join(ls)
|
||||||
|
open(file, encoding="utf-8").close()
|
||||||
|
mask = np.array(Image.open(mask))
|
||||||
|
wc = wordcloud.WordCloud(font_path=font,
|
||||||
|
mask=mask,
|
||||||
|
background_color='white',
|
||||||
|
max_font_size=size,
|
||||||
|
max_words=maxword,
|
||||||
|
stopwords={'王勃', '一'})
|
||||||
|
wc.generate(text)
|
||||||
|
plt.imshow(wc)
|
||||||
|
plt.axis("off")
|
||||||
|
plt.show()
|
@ -5,18 +5,18 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
|
||||||
raw_data = open("./resources/111.txt", encoding="gbk").read()
|
raw_data = open("./resources/111.txt", encoding="utf-8").read()
|
||||||
ls = jieba.lcut(raw_data)
|
ls = jieba.lcut(raw_data)
|
||||||
text = ' '.join(ls)
|
text = ' '.join(ls)
|
||||||
open("./resources/111.txt", encoding="gbk").close()
|
open("./resources/111.txt", encoding="utf-8").close()
|
||||||
mask = np.array(Image.open("./resources/mask.png"))
|
mask = np.array(Image.open("./resources/mask.png"))
|
||||||
wc = wordcloud.WordCloud(font_path="msyh.ttc",
|
wc = wordcloud.WordCloud(font_path="simsun.ttc",
|
||||||
mask=mask,
|
mask=mask,
|
||||||
background_color='white',
|
background_color='white',
|
||||||
max_font_size=240,
|
max_font_size=240,
|
||||||
stopwords={'王勃', '一'})
|
stopwords={'王勃', '一'})
|
||||||
wc.generate(text)
|
wc.generate(text)
|
||||||
wc.to_file("./results/111.png")
|
#wc.to_file("./results/111.png")
|
||||||
plt.imshow(wc)
|
plt.imshow(wc)
|
||||||
plt.axis("off")
|
plt.axis("off")
|
||||||
plt.show()
|
plt.show()
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
from PyQt5 import QtCore, QtGui, uic
|
from PyQt5 import QtGui, uic
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
from tkinter import filedialog
|
from tkinter import filedialog
|
||||||
import jieba
|
import WcModule
|
||||||
import wordcloud
|
import sys
|
||||||
from PIL import Image
|
|
||||||
import numpy as np
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
root.withdraw()
|
root.withdraw()
|
||||||
|
WcModule.size = 210
|
||||||
|
WcModule.maxword = 75
|
||||||
|
WcModule.font = "AdobeHeitiStd-Regular.otf"
|
||||||
|
WcModule.file = "../resources/111.txt"
|
||||||
|
WcModule.mask = "../resources/mask.png"
|
||||||
|
|
||||||
|
|
||||||
class mainthread:
|
class mainthread:
|
||||||
@ -18,13 +20,17 @@ class mainthread:
|
|||||||
self.mainWindow = uic.loadUi('main.ui')
|
self.mainWindow = uic.loadUi('main.ui')
|
||||||
self.mainWindow.FileChooseButton.clicked.connect(self.Choose_File)
|
self.mainWindow.FileChooseButton.clicked.connect(self.Choose_File)
|
||||||
self.mainWindow.MaskChooseButton.clicked.connect(self.Choose_Mask)
|
self.mainWindow.MaskChooseButton.clicked.connect(self.Choose_Mask)
|
||||||
#self.mainWindow.GenerateButton.actions(self.Generate_Action())
|
self.mainWindow.FontSelectionBox.addItems(['Adobe 黑体 Std R', '华文行楷 R', '楷体 R', '微软雅黑 R', '幼圆 R'])
|
||||||
|
self.mainWindow.FontSelectionBox.currentIndexChanged.connect(self.selectionChange)
|
||||||
|
self.mainWindow.FontSizeSelectBox.valueChanged.connect(self.valueChange1)
|
||||||
|
self.mainWindow.MaxWordCountBox.valueChanged.connect(self.valueChange2)
|
||||||
|
self.mainWindow.GenerateButton.toggle()
|
||||||
|
self.mainWindow.GenerateButton.clicked.connect(self.Generate_Action())
|
||||||
|
|
||||||
#文本选择
|
# 文本选择
|
||||||
def Choose_File(self):
|
def Choose_File(self):
|
||||||
global file_path, cursor
|
|
||||||
file_path = "./resources/111.txt"
|
|
||||||
file_path = filedialog.askopenfilename()
|
file_path = filedialog.askopenfilename()
|
||||||
|
WcModule.file = file_path
|
||||||
self.mainWindow.FilePathPreview.setText(file_path)
|
self.mainWindow.FilePathPreview.setText(file_path)
|
||||||
cursor = self.mainWindow.LogBrowser.textCursor()
|
cursor = self.mainWindow.LogBrowser.textCursor()
|
||||||
cursor.movePosition(QtGui.QTextCursor.End)
|
cursor.movePosition(QtGui.QTextCursor.End)
|
||||||
@ -32,46 +38,38 @@ class mainthread:
|
|||||||
self.mainWindow.LogBrowser.setTextCursor(cursor)
|
self.mainWindow.LogBrowser.setTextCursor(cursor)
|
||||||
self.mainWindow.LogBrowser.ensureCursorVisible()
|
self.mainWindow.LogBrowser.ensureCursorVisible()
|
||||||
|
|
||||||
#蒙版选择
|
# 蒙版选择
|
||||||
def Choose_Mask(self):
|
def Choose_Mask(self):
|
||||||
global mask_path
|
|
||||||
mask_path = "./resources/mask.png"
|
|
||||||
mask_path = filedialog.askopenfilename()
|
mask_path = filedialog.askopenfilename()
|
||||||
|
WcModule.mask = mask_path
|
||||||
|
cursor = self.mainWindow.LogBrowser.textCursor()
|
||||||
self.mainWindow.MaskPathPreview.setText(mask_path)
|
self.mainWindow.MaskPathPreview.setText(mask_path)
|
||||||
cursor.movePosition(QtGui.QTextCursor.End)
|
cursor.movePosition(QtGui.QTextCursor.End)
|
||||||
cursor.insertText(f"[Sys]:Mask path selected:{mask_path}\n")
|
cursor.insertText(f"[Sys]:Mask path selected:{mask_path}\n")
|
||||||
self.mainWindow.LogBrowser.setTextCursor(cursor)
|
self.mainWindow.LogBrowser.setTextCursor(cursor)
|
||||||
self.mainWindow.LogBrowser.ensureCursorVisible()
|
self.mainWindow.LogBrowser.ensureCursorVisible()
|
||||||
|
|
||||||
|
def valueChange1(self):
|
||||||
|
font_size = 10 * self.mainWindow.FontSizeSelectBox.value()
|
||||||
|
WcModule.size = font_size
|
||||||
|
|
||||||
|
def valueChange2(self):
|
||||||
|
max_word = self.mainWindow.MaxWordCountBox.value()
|
||||||
|
WcModule.maxword = max_word
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def selectionChange(i):
|
||||||
|
WcModule.font = fontlist[i]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def Generate_Action():
|
def Generate_Action():
|
||||||
raw_data = open(file_path).read()
|
WcModule.generate(WcModule.size, WcModule.maxword, WcModule.font, WcModule.file, WcModule.mask)
|
||||||
ls = jieba.lcut(raw_data)
|
|
||||||
text = ' '.join(ls)
|
|
||||||
open(file_path).close()
|
|
||||||
mask = np.array(Image.open(mask_path))
|
|
||||||
wc = wordcloud.WordCloud(font_path="msyh.ttc",
|
|
||||||
mask=mask,
|
|
||||||
background_color='white',
|
|
||||||
max_font_size=240,
|
|
||||||
stopwords={'王勃', '一'})
|
|
||||||
wc.generate(text)
|
|
||||||
wc.to_file("./results/111.png")
|
|
||||||
plt.imshow(wc)
|
|
||||||
plt.axis("off")
|
|
||||||
plt.show()
|
|
||||||
|
|
||||||
|
|
||||||
global file_path
|
|
||||||
global mask_path
|
|
||||||
|
|
||||||
|
|
||||||
|
fontlist = ("AdobeHeitiStd-Regular.otf", "STXINGKA.TTF", "simkai.ttf", "msyh.ttc", "simsun.ttc", "SIMYOU.TTF")
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app = QApplication([])
|
app = QApplication(sys.argv)
|
||||||
|
|
||||||
# 显示UI
|
# 显示UI
|
||||||
|
|
||||||
m_main = mainthread()
|
m_main = mainthread()
|
||||||
m_main.mainWindow.show()
|
m_main.mainWindow.show()
|
||||||
|
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>501</width>
|
<width>501</width>
|
||||||
<height>522</height>
|
<height>501</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
@ -25,7 +25,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>380</x>
|
<x>380</x>
|
||||||
<y>480</y>
|
<y>460</y>
|
||||||
<width>101</width>
|
<width>101</width>
|
||||||
<height>32</height>
|
<height>32</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -43,141 +43,11 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="Customizewidget" native="true">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>20</x>
|
|
||||||
<y>10</y>
|
|
||||||
<width>461</width>
|
|
||||||
<height>91</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="cursor">
|
|
||||||
<cursorShape>OpenHandCursor</cursorShape>
|
|
||||||
</property>
|
|
||||||
<widget class="QDoubleSpinBox" name="FontSizeSelectBox">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>360</x>
|
|
||||||
<y>40</y>
|
|
||||||
<width>71</width>
|
|
||||||
<height>41</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<double>13.500000000000000</double>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>360</x>
|
|
||||||
<y>10</y>
|
|
||||||
<width>71</width>
|
|
||||||
<height>21</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Adobe 黑体 Std R</family>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>文字大小</string>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::NoTextInteraction</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QSpinBox" name="MaxWordCountBox">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>30</x>
|
|
||||||
<y>40</y>
|
|
||||||
<width>71</width>
|
|
||||||
<height>41</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>999</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>30</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>30</x>
|
|
||||||
<y>10</y>
|
|
||||||
<width>71</width>
|
|
||||||
<height>21</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Adobe 黑体 Std R</family>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>最大词数</string>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::NoTextInteraction</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QComboBox" name="FontSelectionBox">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>140</x>
|
|
||||||
<y>40</y>
|
|
||||||
<width>181</width>
|
|
||||||
<height>41</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="cursor">
|
|
||||||
<cursorShape>ArrowCursor</cursorShape>
|
|
||||||
</property>
|
|
||||||
<property name="mouseTracking">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="acceptDrops">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLabel" name="label_5">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>190</x>
|
|
||||||
<y>10</y>
|
|
||||||
<width>81</width>
|
|
||||||
<height>21</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Adobe 黑体 Std R</family>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>字体选择</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::NoTextInteraction</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<widget class="QTextBrowser" name="SizePreview">
|
<widget class="QTextBrowser" name="SizePreview">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>130</y>
|
<y>110</y>
|
||||||
<width>461</width>
|
<width>461</width>
|
||||||
<height>91</height>
|
<height>91</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -187,7 +57,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>110</y>
|
<y>90</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -209,7 +79,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>400</x>
|
<x>400</x>
|
||||||
<y>320</y>
|
<y>300</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>41</height>
|
<height>41</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -222,7 +92,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>320</y>
|
<y>300</y>
|
||||||
<width>371</width>
|
<width>371</width>
|
||||||
<height>41</height>
|
<height>41</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -232,7 +102,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>300</y>
|
<y>280</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -254,7 +124,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>390</y>
|
<y>370</y>
|
||||||
<width>461</width>
|
<width>461</width>
|
||||||
<height>81</height>
|
<height>81</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -264,7 +134,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>370</y>
|
<y>350</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -286,7 +156,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>250</y>
|
<y>230</y>
|
||||||
<width>371</width>
|
<width>371</width>
|
||||||
<height>41</height>
|
<height>41</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -296,7 +166,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>400</x>
|
<x>400</x>
|
||||||
<y>250</y>
|
<y>230</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>41</height>
|
<height>41</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -309,7 +179,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>230</y>
|
<y>210</y>
|
||||||
<width>81</width>
|
<width>81</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -327,11 +197,134 @@
|
|||||||
<set>Qt::NoTextInteraction</set>
|
<set>Qt::NoTextInteraction</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QDoubleSpinBox" name="FontSizeSelectBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>400</x>
|
||||||
|
<y>40</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>999.899999999999977</double>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<double>0.500000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<double>21.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>400</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Adobe 黑体 Std R</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>文字大小</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::NoTextInteraction</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QComboBox" name="FontSelectionBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>160</x>
|
||||||
|
<y>40</y>
|
||||||
|
<width>181</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>ArrowCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="mouseTracking">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="acceptDrops">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>210</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Adobe 黑体 Std R</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>字体选择</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::NoTextInteraction</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QSpinBox" name="MaxWordCountBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>30</x>
|
||||||
|
<y>40</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>999</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>75</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>30</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Adobe 黑体 Std R</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>最大词数</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::NoTextInteraction</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
<widget class="QPushButton" name="GenerateButton">
|
<widget class="QPushButton" name="GenerateButton">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>480</y>
|
<y>460</y>
|
||||||
<width>93</width>
|
<width>93</width>
|
||||||
<height>28</height>
|
<height>28</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -342,7 +335,6 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>GenerateButton</tabstop>
|
|
||||||
<tabstop>MaskChooseButton</tabstop>
|
<tabstop>MaskChooseButton</tabstop>
|
||||||
<tabstop>MaskPathPreview</tabstop>
|
<tabstop>MaskPathPreview</tabstop>
|
||||||
<tabstop>LogBrowser</tabstop>
|
<tabstop>LogBrowser</tabstop>
|
||||||
|
BIN
results/111.png
BIN
results/111.png
Binary file not shown.
Before Width: | Height: | Size: 291 KiB After Width: | Height: | Size: 209 KiB |
57
temp.py
57
temp.py
@ -1 +1,58 @@
|
|||||||
|
import sys
|
||||||
|
# QtCore是Qt的精髓(包括五大模块:元对象系统,属性系统,对象模型,对象树,信号槽)
|
||||||
|
from PyQt5.QtCore import *
|
||||||
|
# QtGui 显示应用程序图标,工具提示和各种鼠标光标。
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
# Qt Widgets模块提供了一组UI元素来创建经典的桌面风格的用户界面。
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
class QDialogDemo(QMainWindow):
|
||||||
|
def __init__(self):
|
||||||
|
super(QDialogDemo, self).__init__()
|
||||||
|
self.initUI()
|
||||||
|
|
||||||
|
def initUI(self):
|
||||||
|
# 设置窗口标题
|
||||||
|
self.setWindowTitle('QDialog案例')
|
||||||
|
# 设置窗口尺寸
|
||||||
|
self.resize(300,200)
|
||||||
|
|
||||||
|
# 创建button控件,直接把button放在窗口上
|
||||||
|
self.button = QPushButton(self)
|
||||||
|
# 设置button控件文本
|
||||||
|
self.button.setText('弹出对话框')
|
||||||
|
# 移动button的位置
|
||||||
|
self.button.move(50,50)
|
||||||
|
|
||||||
|
# 将单击信号和槽绑定
|
||||||
|
self.button.clicked.connect(self.showDialog)
|
||||||
|
|
||||||
|
|
||||||
|
# 槽方法
|
||||||
|
def showDialog(self):
|
||||||
|
# 创建对话框
|
||||||
|
dialog = QDialog()
|
||||||
|
# 在对话框dialog里面放一个button
|
||||||
|
button = QPushButton('确定',dialog)
|
||||||
|
# 点击button按钮关闭 现成的槽
|
||||||
|
button.clicked.connect(dialog.close)
|
||||||
|
# 移动button
|
||||||
|
button.move(50,50)
|
||||||
|
# 给dialog设置标题
|
||||||
|
dialog.setWindowTitle('对话框')
|
||||||
|
# 设置对话框为模式状态,模式状态:即模式状态开启时,对话框窗口里的所有控件不可用
|
||||||
|
dialog.setWindowModality(Qt.ApplicationModal)
|
||||||
|
|
||||||
|
# 显示对话框
|
||||||
|
dialog.exec()
|
||||||
|
|
||||||
|
# 防止别的脚本调用,只有自己单独运行时,才会调用下面的代码
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# 创建app实例,并传入参数
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
# 创建对象
|
||||||
|
main = QDialogDemo()
|
||||||
|
# 创建窗口
|
||||||
|
main.show()
|
||||||
|
# 进入程序的主循环,并通过exit函数,确保主循环安全结束(该释放资源的释放)
|
||||||
|
sys.exit(app.exec_())
|
||||||
|
Loading…
Reference in New Issue
Block a user