class CSDN(): def __init__(self): self.windows = QMainWindow() self.windows.resize(450, 300) self.windows.setWindowTitle("轻松获取csdn文章--by tansty") self.setup_ui() self.set_connect() def set_connect(self): #设置建立联系 self.button.clicked.connect(self.spider_csdn) def setup_ui(self): #设置ui界面的建立 self.button = QPushButton(self.windows) self.button.resize(100, 100) self.button.move(150, 150) self.button.setText("获取文章") self.text = QPlainTextEdit(self.windows) self.text.setPlaceholderText("请输入需要获取文章的链接") self.text.resize(450, 100) def spider_csdn(self): # 目标文章的链接 title_url = self.text.toPlainText() MessageBox = QMessageBox(self.windows) if not title_url: MessageBox.critical(self.windows, "错误", "请输入网址") return head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52" } html = requests.get(url=title_url, headers=head).text page = parsel.Selector(html) #创建解释器 title = page.css(".title-article::text").get() res = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]") restr = '' res.sub(restr, title) content = page.css("article").get() content = re.sub("<a.*?a>", "", content) content = re.sub("<br>", "", content) texts = tomd.Tomd(content).markdown #转换为markdown 文件 with open(title + ".md", mode="w", encoding="utf-8") as f: f.write("#" + title) f.write(texts) MessageBox.information(self.windows, "正确", "获取文章完成")
class JosephusUIOnPyside2(QTUI): def __init__(self, title) -> None: self.window = QMainWindow() self.window.resize(500, 400) self.window.move(300, 310) self.window.setWindowTitle(title) self.textEdit = QPlainTextEdit(self.window) self.textEdit.setPlaceholderText("Please input people's items") self.textEdit.move(10, 25) self.textEdit.resize(300, 350) self.button = QPushButton('Generate survior', self.window) self.button.move(380, 80) self.button.clicked.connect(self.handle_button) def handle_button(self) -> None: people_info = self.textEdit.toPlainText() reader = [] for row in people_info: data = row(read_files.str2list_row) reader.append(data) ring = Josephus.Ring(reader) ring.start = 0 ring.step = 1 res = ring.query_list_all() size_res = len(res) generator = ring.iter() survior = '' for i in range(size_res): some_one = next(generator) if some_one == None: break if i == size_res - 1: survior = 'Survivor\'s name is' + some_one.name + \ 'age is' + some_one.age + 'gender is' + some_one.gender else: continue QmessageBox.about(self.window, 'Survior\'s items', survior)
class Stats(): def __init__(self): self.window = QMainWindow() self.window.resize(500, 400) self.window.move(300, 300) self.window.setWindowTitle('薪资统计') self.textEdit = QPlainTextEdit(self.window) self.textEdit.setPlaceholderText('请输入薪资表') self.textEdit.move(10, 25) self.textEdit.resize(300, 350) self.button = QPushButton('统计', self.window) self.button.move(380, 80) self.button.clicked.connect(self.handleCalc) pass def handleCalc(self): info = self.textEdit.toPlainText() salary_above_20k = '' salary_below_20k = '' for line in info.splitlines(): if not line.strip(): continue pass parts = line.split(' ') print(type(parts)) parts = [p for p in parts if p] name, salary, age = parts if int(salary) >= 20000: salary_above_20k += name + '\n' pass else: salary_below_20k += name + '\n' pass pass QMessageBox.about( self.window, '统计结果', f'''薪资20000 以上的有:\n{salary_above_20k} \n薪资20000 以下的有:\n{salary_below_20k}''') pass pass
class Stats(): def __init__(self): self.window = QMainWindow() self.window.resize(500, 400) self.window.move(300, 300) self.window.setWindowTitle('学生管理系统') self.label_account = QLabel(self.window) self.label_password = QLabel(self.window) self.label_account.setText("账号") self.label_password.setText("密码") self.textEdit = QPlainTextEdit(self.window) self.textEdit.setPlaceholderText("请输入薪资表") self.textEdit.move(10, 25) self.textEdit.resize(300, 350) self.button = QPushButton('统计', self.window) self.button.move(380, 80) self.button.clicked.connect(self.handleCalc) def handleCalc(self): info = self.textEdit.toPlainText() print(info) # 薪资20000 以上 和 以下 的人员名单 salary_above_20k = '' salary_below_20k = '' for line in info.splitlines(): print(line) if not line.strip(): continue parts = line.split(' ') # 去掉列表中的空字符串内容 parts = [p for p in parts if p] name, salary, age = parts if int(salary) >= 20000: salary_above_20k += name + '\n' else: salary_below_20k += name + '\n' QMessageBox.about( self.window, '统计结果', f'''薪资20000 以上的有:\n{salary_above_20k} \n薪资20000 以下的有:\n{salary_below_20k}''')
class Stats(): def __init__(self): # 主窗口 self.window = QMainWindow() self.window.resize(500, 400) self.window.move(300, 300) self.window.setWindowTitle('薪资统计') # 纯文本框 self.textEdit = QPlainTextEdit(self.window) self.textEdit.setPlaceholderText("请输入薪资表") self.textEdit.move(10, 25) self.textEdit.resize(300, 350) # 按钮 self.button = QPushButton('统计', self.window) self.button.move(380, 80) # 按钮绑定响应函数 self.button.clicked.connect(self.handleCalc) def handleCalc(self): # 获取纯文本框里的内容 info = self.textEdit.toPlainText() # 薪资20000 以上 和 以下 的人员名单 salary_above_20k = '' salary_below_20k = '' for line in info.splitlines(): if not line.strip(): continue parts = line.split(' ') # 去掉列表中的空字符串内容 parts = [p for p in parts if p] name, salary, age = parts if int(salary) >= 20000: salary_above_20k += name + '\n' else: salary_below_20k += name + '\n' QMessageBox.about( self.window, '统计结果', f'''薪资20000 以上的有:\n{salary_above_20k} \n薪资20000 以下的有:\n{salary_below_20k}''')
for data in info: wage = re.search(r"\d{4,}", data) if wage: if int(wage.group()) <= 20000: name_list += data[0:4] + '\n' else: print('格式有误') QMessageBox.about(window, '统计结果', '薪资20000以下的有\n' f'{name_list}') if __name__ == '__main__': app = QApplication(sys.argv) window = QMainWindow() window.resize(600, 500) window.setWindowTitle('薪资统筹') # 输入面板 textEdit = QPlainTextEdit(window) textEdit.setPlaceholderText('请输入薪资表') textEdit.move(100, 50) textEdit.resize(400, 300) # 按钮 button = QPushButton('统计', window) button.move(250, 400) button.clicked.connect(handler_click) # 显示和退出 window.show() sys.exit(app.exec_())
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Author : 影子 # @Time : 2020-10-25 18:25 # @Software: PyCharm # @File : PySide2_01.py # 用户输入一段文本包含:员工姓名,薪资,年龄。把薪资在 2万 以上、以下的人员名单分别打印出来 import os from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit # 增加环境变量 # https://blog.csdn.net/liuzhuchen/article/details/101348454?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.add_param_isCf # envpath = r'D:\ProgramData\Anaconda3\Lib\site-packages\PySide2\plugins\platforms' # os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = envpath app = QApplication([]) # 初始化操作提供整个图形界面程序的底层管理功能:初始化、程序入口参数的处理,用户事件等 window = QMainWindow() window.resize(500, 400) window.move(300, 310) window.setWindowTitle("薪资统计") textEdit = QPlainTextEdit(window) textEdit.setPlaceholderText("请输入薪资表") textEdit.move(10, 25) textEdit.resize(300, 350) button = QPushButton("统计", window) button.move(380, 80) window.show() app.exec_()
result = f'{port}端口关闭' win.append(result) #QMessageBox.about(window,'扫描结果',result) app = QApplication([]) window = QMainWindow() window.resize(500, 270) window.move(300, 300) window.setWindowTitle('端口扫描') textEdit1 = QPlainTextEdit(window) #textEdit1.setPlaceholderText("输入IP") textEdit1.move(10, 50) textEdit1.resize(200, 40) textEdit2 = QPlainTextEdit(window) #textEdit2.setPlaceholderText("输入端口") textEdit2.move(10, 130) textEdit2.resize(200, 40) textEdit3 = QPlainTextEdit(window) #textEdit3.setPlaceholderText("超时(毫秒)") textEdit3.move(10, 210) textEdit3.resize(200, 40) label1 = QLabel(window) label1.setText('输入IP') label1.move(80, 0) label1.resize(500, 60)
info = textEdit.toPlainText() salary_above_20k = '' salary_below_20k = '' for line in info.splitlines(): if not line.strip(): continue parts = line.split(' ') name, salary, age = parts app = QApplication([]) window = QMainWindow() window.resize(500, 400) window.move(300, 310) window.setWindowTitle("薪资统计") textEdit = QPlainTextEdit(window) textEdit.setPlaceholderText("请输入薪资表") textEdit.move(10, 25) textEdit.resize(300, 340) button = QPushButton('统计', window) button.move(360, 160) # Slot button.clicked.connect(handCalc()) window.show() app.exec_()
def handle(): query = textEdit.toPlainText() s = Scholar(query, root='/Users/tangxiangong/Downloads') s.search() r = s.get_html_root() QMessageBox.about( window, "Result", f"Successfully!\nThe html files are saved in the directory {r}.") app = QApplication([]) window = QMainWindow() window.resize(800, 600) window.move(300, 310) window.setWindowTitle("谷歌学术") textEdit = QPlainTextEdit(window) textEdit.setPlaceholderText("请输入关键字") textEdit.move(45, 45) textEdit.resize(500, 30) button = QPushButton("搜索", window) button.move(555, 40) button.resize(80, 40) button.clicked.connect(handle) window.show() app.exec_()