[PyQt6] PartⅡ. ListWidget
ListWidget
一个表单
关键代码
self.list_widget.insertItem(0, "python") # addItem的话,没有row选项
self.list_widget.clicked.connect(self.item_clicked) # 绑定选中事件,发送signal,到slot,item_clicked
完整代码
from PyQt6.QtWidgets import QApplication, QWidget, QListWidget, QLabel, QHBoxLayout, QVBoxLayout
from PyQt6.QtGui import QIcon, QFont
from PyQt6.QtCore import Qt
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 700, 400) # 设置窗口大小
self.setWindowTitle("Python ListWidget")
self.setWindowIcon(QIcon('python.png')) # 设置图片,没有的话不显示
vbox = QVBoxLayout()
self.list_widget = QListWidget() # 创建一个QListWidget对象
self.list_widget.insertItem(0, "python") # addItem的话,没有row选项
self.list_widget.insertItem(1, "java")
self.list_widget.insertItem(2, "C++")
self.list_widget.insertItem(3, "C#")
self.list_widget.insertItem(4, "Kotlin")
self.list_widget.setFont(QFont("Times", 15))
self.list_widget.setStyleSheet("background-color: gray")
# connect signal
self.list_widget.clicked.connect(self.item_clicked) # 绑定选中事件,发送signal,到slot,item_clicked
self.label = QLabel("")
self.label.setFont(QFont("Times", 15))
vbox.addWidget(self.list_widget)
vbox.addWidget(self.label)
self.setLayout(vbox)
def item_clicked(self):
result = self.list_widget.currentItem()
self.label.setText("You have selected: " + str(result.text()))
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理