some script.
This commit is contained in:
parent
fa60499078
commit
3b396f652f
89
demo.py
Normal file
89
demo.py
Normal file
@ -0,0 +1,89 @@
|
||||
import sys
|
||||
from functools import partial
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton, QVBoxLayout, \
|
||||
QWidget, QTextEdit, QHeaderView, QHBoxLayout
|
||||
|
||||
|
||||
class TableWidgetExample(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.initUI()
|
||||
|
||||
def initUI(self):
|
||||
self.setWindowTitle("QTableWidget Example")
|
||||
self.setGeometry(100, 100, 800, 600)
|
||||
|
||||
central_widget = QWidget()
|
||||
center_layout = QVBoxLayout(central_widget)
|
||||
self.setCentralWidget(central_widget)
|
||||
|
||||
top_widget = QWidget()
|
||||
top_layout = QVBoxLayout(top_widget)
|
||||
|
||||
table = QTableWidget()
|
||||
table.setColumnCount(3) # Add one more column for buttons
|
||||
|
||||
table.setHorizontalHeaderLabels(["URL", "状态", "操作"])
|
||||
|
||||
header = table.horizontalHeader()
|
||||
header.setSectionResizeMode(QHeaderView.ResizeToContents)
|
||||
header.setSectionResizeMode(0, QHeaderView.Stretch)
|
||||
|
||||
data = [
|
||||
["https://baidu.com", "队列中"],
|
||||
["https://google.com", "队列中"],
|
||||
["https://rainss.cn", "队列中"]
|
||||
]
|
||||
|
||||
table.setRowCount(len(data)) # Remove extra row
|
||||
|
||||
for row, rowData in enumerate(data):
|
||||
for col, value in enumerate(rowData):
|
||||
item = QTableWidgetItem(value)
|
||||
table.setItem(row, col, item)
|
||||
|
||||
# Add buttons in the last column
|
||||
button_layout = QHBoxLayout()
|
||||
|
||||
pause_button = QPushButton("暂停")
|
||||
pause_button.setMinimumHeight(40) # Set button width
|
||||
pause_button.setMinimumWidth(60) # Set button width
|
||||
delete_button = QPushButton("删除")
|
||||
delete_button.setMinimumHeight(40) # Set button width
|
||||
delete_button.setMinimumWidth(60) # Set button width
|
||||
|
||||
pause_button.clicked.connect(partial(self.pause_button_clicked, row))
|
||||
delete_button.clicked.connect(partial(self.delete_button_clicked, row))
|
||||
|
||||
button_layout.addWidget(pause_button)
|
||||
button_layout.addWidget(delete_button)
|
||||
|
||||
button_container = QWidget()
|
||||
button_container.setLayout(button_layout)
|
||||
|
||||
table.setCellWidget(row, 2, button_container)
|
||||
|
||||
|
||||
top_layout.addWidget(table)
|
||||
center_layout.addWidget(top_widget)
|
||||
|
||||
bottom_widget = QWidget()
|
||||
bottom_widget.setFixedHeight(300)
|
||||
bottom_layout = QVBoxLayout(bottom_widget)
|
||||
input_text = QTextEdit()
|
||||
bottom_layout.addWidget(input_text)
|
||||
center_layout.addWidget(bottom_widget)
|
||||
|
||||
def pause_button_clicked(self, row):
|
||||
print(f"Paused row {row}")
|
||||
|
||||
def delete_button_clicked(self, row):
|
||||
print(f"Deleted row {row}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
window = TableWidgetExample()
|
||||
window.show()
|
||||
sys.exit(app.exec())
|
||||
19
dm.py
19
dm.py
@ -1,9 +1,8 @@
|
||||
import sys
|
||||
|
||||
from PySide6 import QtWidgets
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, \
|
||||
QHBoxLayout, QSplitter, QTextEdit
|
||||
QTextEdit
|
||||
|
||||
|
||||
class TableWidgetExample(QMainWindow):
|
||||
@ -16,12 +15,15 @@ class TableWidgetExample(QMainWindow):
|
||||
self.setWindowTitle("QTableWidget Example")
|
||||
self.setGeometry(100, 100, 800, 600)
|
||||
|
||||
top_layout = QVBoxLayout()
|
||||
central_widget = QWidget(self)
|
||||
central_widget.setLayout(top_layout)
|
||||
central_widget = QWidget()
|
||||
center_layout = QVBoxLayout(central_widget)
|
||||
# central_widget.setLayout(center_layout)
|
||||
self.setCentralWidget(central_widget)
|
||||
|
||||
table = QTableWidget(self)
|
||||
top_widget = QWidget()
|
||||
top_layout = QVBoxLayout(top_widget)
|
||||
|
||||
table = QTableWidget()
|
||||
table.setColumnCount(3)
|
||||
|
||||
table.setHorizontalHeaderLabels(["URL", "状态", "操作"])
|
||||
@ -44,13 +46,16 @@ class TableWidgetExample(QMainWindow):
|
||||
table.setItem(row, col, item)
|
||||
|
||||
top_layout.addWidget(table)
|
||||
center_layout.addWidget(top_widget)
|
||||
|
||||
# 下部分布局
|
||||
bottom_widget = QWidget()
|
||||
bottom_widget.setFixedHeight(300)
|
||||
bottom_layout = QVBoxLayout(bottom_widget)
|
||||
input_text = QTextEdit()
|
||||
bottom_layout.addWidget(input_text)
|
||||
# central_widget.addWidget(bottom_widget)
|
||||
center_layout.addWidget(bottom_widget)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
51
opera.py
Normal file
51
opera.py
Normal file
@ -0,0 +1,51 @@
|
||||
import sys
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton, QVBoxLayout, QWidget
|
||||
|
||||
class TableExample(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle("Table Example")
|
||||
self.setGeometry(100, 100, 400, 300)
|
||||
|
||||
self.central_widget = QWidget()
|
||||
self.setCentralWidget(self.central_widget)
|
||||
|
||||
self.layout = QVBoxLayout()
|
||||
self.central_widget.setLayout(self.layout)
|
||||
|
||||
self.table_widget = QTableWidget()
|
||||
self.table_widget.setColumnCount(2)
|
||||
self.table_widget.setHorizontalHeaderLabels(["Name", "Action"])
|
||||
self.layout.addWidget(self.table_widget)
|
||||
|
||||
self.populate_table()
|
||||
|
||||
def populate_table(self):
|
||||
data = [("Item 1", "Edit"), ("Item 2", "Edit"), ("Item 3", "Edit")]
|
||||
|
||||
for row, (name, action) in enumerate(data):
|
||||
self.table_widget.insertRow(row)
|
||||
name_item = QTableWidgetItem(name)
|
||||
self.table_widget.setItem(row, 0, name_item)
|
||||
|
||||
button = QPushButton(action)
|
||||
button.clicked.connect(self.button_clicked)
|
||||
self.table_widget.setCellWidget(row, 1, button)
|
||||
|
||||
def button_clicked(self):
|
||||
button = self.sender()
|
||||
if isinstance(button, QPushButton):
|
||||
index = self.table_widget.indexAt(button.pos())
|
||||
if index.isValid():
|
||||
row = index.row()
|
||||
print(f"Button clicked in row {row}")
|
||||
|
||||
def main():
|
||||
app = QApplication(sys.argv)
|
||||
window = TableExample()
|
||||
window.show()
|
||||
sys.exit(app.exec())
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Reference in New Issue
Block a user