记录一下pyqt6的一些功能操作的代码

admin 2024年3月19日14:40:15评论6 views字数 6789阅读22分37秒阅读模式
记录一下pyqt6的一些功能操作的代码

点击上方蓝字关注我哦

前情提要

qian qing ti yao
前言

上一篇是说了一下框架,主要为了说明怎么去实现将功能展示处理,今天记录一下一些具体功能的一下代码


事件与槽以及信号的两种表达
python
from PyQt6.QtCore import QObject, pyqtSignal, pyqtSlot

class MyClass(QObject):
my_signal = pyqtSignal()

@pyqtSlot()
def my_slot(self):
print("This is my slot")

def some_method(self):
# Emit the signal
self.my_signal.emit()

# Create an instance of MyClass
my_class = MyClass()

# Connect the signal to the slot
my_class.my_signal.connect(my_class.my_slot)

# Call some_method() to emit the signal
my_class.some_method() # This will print "This is my s
python
import sys
from PyQt6.QtWidgets import QApplication, QLabel, QPushButton

class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.label = QLabel("Hello PyQt6!", self)
self.button = QPushButton("Click me", self)
self.button.clicked.connect(self.on_button_clicked)

self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Event, signal and slot example')
self.show()

def on_button_clicked(self):
self.label.setText("Button was clicked!")

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
Qtablewight怎么展示数据
python
import sys
from PyQt6.QtWidgets import QApplication, QTableWidget, QTableWidgetItem

def main():
app = QApplication(sys.argv)

# 创建一个 3 行 3 列的表格
table = QTableWidget(3, 3)

# 向表格中添加数据
item = QTableWidgetItem("Item 1")
table.setItem(0, 0, item)

item = QTableWidgetItem("Item 2")
table.setItem(0, 1, item)

item = QTableWidgetItem("Item 3")
table.setItem(0, 2, item)

item = QTableWidgetItem("Item 4")
table.setItem(1, 0, item)

item = QTableWidgetItem("Item 5")
table.setItem(1, 1, item)

item = QTableWidgetItem("Item 6")
table.setItem(1, 2, item)

item = QTableWidgetItem("Item 7")
table.setItem(2, 0, item)

item = QTableWidgetItem("Item 8")
table.setItem(2, 1, item)

item = QTableWidgetItem("Item 9")
table.setItem(2, 2, item)

# 显示表格
table.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()
pyqt6怎么展示动态图
python
import sys
from PyQt6.QtWidgets import QApplication, QTableWidget, QTableWidgetItem

def main():
app = QApplication(sys.argv)

# 创建一个 3 行 3 列的表格
table = QTableWidget(3, 3)

# 向表格中添加数据
item = QTableWidgetItem("Item 1")
table.setItem(0, 0, item)

item = QTableWidgetItem("Item 2")
table.setItem(0, 1, item)

item = QTableWidgetItem("Item 3")
table.setItem(0, 2, item)

item = QTableWidgetItem("Item 4")
table.setItem(1, 0, item)

item = QTableWidgetItem("Item 5")
table.setItem(1, 1, item)

item = QTableWidgetItem("Item 6")
table.setItem(1, 2, item)

item = QTableWidgetItem("Item 7")
table.setItem(2, 0, item)

item = QTableWidgetItem("Item 8")
table.setItem(2, 1, item)

item = QTableWidgetItem("Item 9")
table.setItem(2, 2, item)

# 显示表格
table.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()
pyqt6怎么显示进度条
python
import sys
from PyQt6.QtWidgets import QApplication, QProgressBar

def main():
app = QApplication(sys.argv)

# 创建一个进度条
progress_bar = QProgressBar()

# 设置进度条的最小值和最大值
progress_bar.setMinimum(0)
progress_bar.setMaximum(100)

# 将进度条设置为 50%
progress_bar.setValue(50)

# 显示进度条
progress_bar.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()

在这个示例中,我们创建了一个 QProgressBar,设置了其最小值和最大值,并将初始值设置为 50%。然后,我们调用 show() 方法显示进度条。你可以根据需要更新进度条的值,例如在执行一个任务时显示进度。

pyqt6怎么展示折线
python
import sys
from PyQt6.QtCore import Qt
from PyQt6.QtCharts import QChartView, QLineSeries
from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget

def main():
app = QApplication(sys.argv)

# 创建主窗口
window = QMainWindow()
window.setWindowTitle("Line Chart Example")

# 创建一个包含图表视图的子窗口
chart_widget = QWidget()
chart_view = QChartView()

# 创建一个折线系列
series = QLineSeries()

# 向系列中添加数据点
series.append(0, 10)
series.append(1, 20)
series.append(2, 30)
series.append(3, 25)
series.append(4, 15)

# 将系列添加到图表中
chart_view.chart().addSeries(series)

# 设置图表的标题和轴标签
chart_view.chart().setTitle("Line Chart Example")
chart_view.chart().setAxisTitle(Qt.YAxis, "Value")
chart_view.chart().setAxisTitle(Qt.XAxis, "Index")

# 设置图表视图的缩放和滚动
chart_view.setRenderHint(QPainter.RenderHint.Antialiasing)
chart_view.setInteractive(True)

# 将图表视图添加到子窗口中
layout = QVBoxLayout()
layout.addWidget(chart_view)
chart_widget.setLayout(layout)

# 将子窗口添加到主窗口中
window.setCentralWidget(chart_widget)

# 显示主窗口
window.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()
   七   
pyqt6怎么显示pdf
python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from PyQt6.QtGui import QGuiApplication
from PyQt6.QtPdf import QPdfViewer

def main():
app = QApplication(sys.argv)

# 创建主窗口
window = QMainWindow()
window.setWindowTitle("Online PDF Viewer Example")

# 创建一个子窗口来显示 PDF
pdf_widget = QWidget()
pdf_viewer = QPdfViewer()

# 设置在线 PDF 文件的 URL
pdf_url = "https://example.com/path/to/your/pdf/file.pdf"
pdf_viewer.setFileName(pdf_url)

# 将 PDF 视图添加到子窗口中
layout = QVBoxLayout()
layout.addWidget(pdf_viewer)
pdf_widget.setLayout(layout)

# 将子窗口添加到主窗口中
window.setCentralWidget(pdf_widget)

# 显示主窗口
window.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()
   八   
Qtablewight怎么复选
python
import sys
from PyQt6.QtWidgets import QApplication, QTableWidget, QTableWidgetItem

def main():
app = QApplication(sys.argv)

# 创建主窗口
window = QTableWidget(3, 3) # 3 行 3 列的表格

# 启用复选框
window.setEditTriggers(QTableWidget.NoEditTriggers)
window.setShowGrid(False)

# 添加表格项
for row in range(3):
for col in range(3):
item = QTableWidgetItem()
item.setCheckable(True)
window.setItem(row, col, item)

# 显示主窗口
window.show()

sys.exit(app.exec_())

if __name__ == "__main__":
main()

在这个示例中,我们创建了一个 QTableWidget 作为主窗口,并设置了 3 行 3 列的表格。我们通过将 checkable 属性设置为 True 来为每个 QTableWidgetItem 启用复选框。最后,我们显示主窗口。

注意:在这个示例中,我们禁用了表格的编辑功能(通过设置 setEditTriggers),并隐藏了网格线(通过设置 setShowGrid)。这些设置可以使复选框更加明显。你可以根据需要调整这些设置。

   九   
pyqt6怎么导出pdf

在 PyQt6 中,你可以使用 QNetworkAccessManager 和 QPrinter 类来下载在线 PDF 文件并将其导出到本地。以下是一个简单的示例:

python
import sys
from PyQt6.QtWidgets import QApplication, QLabel, QPushButton
from PyQt6.QtCore import Qt, QCoreApplication, QUrl
from PyQt6.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply
from PyQt6.QtPrintSupport import QPrinter

class PdfDownloader(QNetworkAccessManager):
def __init__(self, parent=None):
super().__init__(parent)

@staticmethod
def download_pdf(url, output_file):
network_manager = PdfDownloader()
request = QNetworkRequest(QUrl(url))
request.setCache(QCoreApplication.instance().cache)
request.setProxy(QCoreApplication.instance().proxy)

reply = network_manager.get(request)

if reply.error() == QNetworkReply.NoError:
with open(output_file, "wb") as f:
f.write(reply.readAll())
print(f"PDF file saved to: {output_file}")
else:
print(f"Error downloading PDF file: {reply.errorString()}")

if __name__ == "__main__":
app = QApplication(sys.argv)

# 设置网络访问管理器
network_manager = PdfDownloader()

# 设置要下载的在线 PDF 文件 URL
pdf_url = "https://example.com/example.pdf"

# 设置要保存的本地文件路径
output_file = "example.pdf"

# 下载 PDF 文件
PdfDownloader.download_pdf(pdf_url, output_file)

sys.exit(app.exec_())

在这个示例中,我们首先创建了一个 PdfDownloader 类,它继承自 QNetworkAccessManager。我们在这个类中定义了一个静态方法 download_pdf,它接受一个 URL 和一个输出文件路径作为参数。

在 download_pdf 方法中,我们创建了一个 QNetworkAccessManager 对象,并使用 QNetworkRequest 类来请求指定的 PDF 文件。我们还设置了缓存和代理,以便在网络访问过程中使用。

接下来,我们使用 QNetworkAccessManager.get 方法下载 PDF 文件,并将响应存储在 QNetworkReply 对象中。如果下载过程中没有错误,我们将使用 QNetworkReply.readAll 方法读取响应数据,并将其写入本地文件。最后,我们打印出已保存的 PDF 文件路径。

如果下载过程中出现错误,我们将打印出错误信息。

   七   
关注一下

    扫码关注后台回复“安全”

获取资料

记录一下pyqt6的一些功能操作的代码
记录一下pyqt6的一些功能操作的代码
理想·致敬每一个安全人
初心不改,筑梦未来

                                                  记录一下pyqt6的一些功能操作的代码

原文始发于微信公众号(SQ安全渗透):记录一下pyqt6的一些功能操作的代码

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月19日14:40:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记录一下pyqt6的一些功能操作的代码https://cn-sec.com/archives/2581889.html

发表评论

匿名网友 填写信息