PyQt5简单小工具制作步骤:

学了几个月的python了,突然想做点自己的工具,想起自己以前用QT写C++的GUI的时候,记得用pyqt可以写GUI,就学了一周。把基本的东西都看了一遍,感觉和QT差不多!但是pyqt5 的中文资料少的可怜啊!如果又想学的朋友可以参考下我的这个小工具制作过程!

先看代码

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import requests

class MyTest(QWidget):

    def __init__(self, parent=None):
        super(MyTest, self).__init__(parent)

        self.label = QLabel(self)
        self.label.setText("网址")
        self.lineEdit = QLineEdit()
        #self.lineEdit.setText("http://www.baidu.com")
        self.button = QPushButton("开始")
        self.text = QTextEdit()
        #信号于槽
        self.button.clicked.connect(self.getstr)
        #布局嵌套
        wlayout = QVBoxLayout(self) #全局布局
        hlayout = QHBoxLayout() #局部布局
        vlayout = QVBoxLayout() #局部布局

        hlayout.addWidget(self.label)
        hlayout.addWidget(self.lineEdit)
        hlayout.addWidget(self.button)
        vlayout.addWidget(self.text)

        wlayout.addLayout(hlayout) #将局部布局加到全局布局中
        wlayout.addLayout(vlayout)
        #添加标题
        self.setWindowTitle("URL抓取")
        #添加图标
        self.setWindowIcon(QIcon('1.ico'))

    #槽函数
    def getstr(self):
        url = self.lineEdit.text()
        rep = requests.get(url)
        rep.encoding = 'utf-8'
        html = rep.text
        #将抓取的网页源码加入到textEdit中
        #setText()这个函数不能实现
        self.text.setPlainText(html)



if __name__ =="__main__":
    app = QApplication(sys.argv)
    demo = MyTest()
    demo.show()
    sys.exit(app.exec())

这里写图片描述
这里写图片描述

打包
下载pyinstaller库,pip install pyinstaller
如果你装的是python3.6需要到github上下载最新的开发版

pyinstaller.exe -w -F –icon=”1.ico” mytest.py

-w 是不会出现黑色的控制台
-F 文件路径
–ico 添加程序的图标

打包完后会出现:
这里写图片描述
进入dist中就有我们最后生成的工具:
这里写图片描述

如果想下载好看的图标可以推荐给大家一个好的网站:
http://www.easyicon.net/1116259-language_python_text_icon.html

ps: 如果大佬发现错误,欢迎指正!谢绝喷子!

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5一个PythonGUI框架,它可以用来制作类似Navicat的可视管理小工具。下面是制作这种小工具的基本步骤: 1. 安装PyQt5库:使用pip命令安装PyQt5库。 2. 设计GUI:使用Qt Designer工具设计关于连接数据库和进行数据库操作的GUI。 3. 将Qt Designer生成的.ui文件转换为.py文件:使用pyuic5命令将.ui文件转换为.py文件。 4. 编Python代码:在GUI的基础上,编Python代码实现连接数据库和进行数据库操作的功能。 以下是一个示例代码,可以实现连接SQLite数据库和进行查询操作: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QMessageBox from PyQt5.uic import loadUiType import sqlite3 # 加载UI文件 Ui_MainWindow, _ = loadUiType('mainwindow.ui') class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) self.connection = None def open_database(self): # 打开数据库 file_path, _ = QFileDialog.getOpenFileName(self, '打开数据库', '', 'SQLite数据库 (*.db *.sqlite)') if not file_path: return try: self.connection = sqlite3.connect(file_path) self.statusBar().showMessage('数据库已打开') except Exception as e: self.connection = None QMessageBox.warning(self, '错误', str(e)) self.statusBar().showMessage('打开数据库失败') def close_database(self): # 关闭数据库 if self.connection: self.connection.close() self.connection = None self.statusBar().showMessage('数据库已关闭') def query_data(self): # 查询数据 if not self.connection: QMessageBox.warning(self, '错误', '请先打开数据库') return try: cursor = self.connection.cursor() cursor.execute('SELECT * FROM users') rows = cursor.fetchall() self.tableWidget.setRowCount(len(rows)) for i, row in enumerate(rows): for j, value in enumerate(row): self.tableWidget.setItem(i, j, QtWidgets.QTableWidgetItem(str(value))) self.statusBar().showMessage('查询成功') except Exception as e: QMessageBox.warning(self, '错误', str(e)) self.statusBar().showMessage('查询失败') if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在这个示例代码中,MainWindow类继承了QMainWindow和Ui_MainWindow,其中Ui_MainWindow是由Qt Designer生成的UI文件转换而来的。 在MainWindow类中,open_database、close_database和query_data三个方法分别实现打开数据库、关闭数据库和查询数据的功能。其中,open_database方法使用QFileDialog打开SQLite数据库文件,使用sqlite3库连接数据库;close_database方法关闭数据库连接;query_data方法使用cursor对象查询数据并在表格中显示查询结果。 这个示例代码只是一个简单的例子,实际的可视化管理工具需要更加复杂的功能和界面设计,但是基本的思路和步骤是相似的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值