ChatGPT解答:
PYQT5 组件化实例,Python代码实现,给出100个代码实例
PYQT5 组件化实例,Python代码实现,给出100个代码实例
-
实现一个简单的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.show()
sys.exit(app.exec_())
-
实现一个带有标题的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('My Window')
window.show()
sys.exit(app.exec_())
-
实现一个带有按钮的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Click me!', window)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有标签的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Hello, world!', window)
label.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有文本框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit
app = QApplication(sys.argv)
window = QWidget()
text_box = QLineEdit(window)
text_box.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有滑块的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSlider
app = QApplication(sys.argv)
window = QWidget()
slider = QSlider(window)
slider.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有复选框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
app = QApplication(sys.argv)
window = QWidget()
check_box = QCheckBox('Check me!', window)
check_box.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有单选按钮的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton
app = QApplication(sys.argv)
window = QWidget()
radio_button = QRadioButton('Select me!', window)
radio_button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有菜单栏的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMenuBar, QMenu, QAction
app = QApplication(sys.argv)
window = QWidget()
menu_bar = QMenuBar(window)
file_menu = QMenu('File', menu_bar)
new_action = QAction('New', window)
file_menu.addAction(new_action)
menu_bar.addMenu(file_menu)
window.show()
sys.exit(app.exec_())
-
实现一个带有工具栏的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QToolBar, QAction
app = QApplication(sys.argv)
window = QWidget()
tool_bar = QToolBar(window)
new_action = QAction('New', window)
tool_bar.addAction(new_action)
window.addToolBar(tool_bar)
window.show()
sys.exit(app.exec_())
-
实现一个带有状态栏的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QStatusBar
app = QApplication(sys.argv)
window = QWidget()
status_bar = QStatusBar(window)
status_bar.showMessage('Ready')
window.setStatusBar(status_bar)
window.show()
sys.exit(app.exec_())
-
实现一个带有进度条的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar
app = QApplication(sys.argv)
window = QWidget()
progress_bar = QProgressBar(window)
progress_bar.move(50, 50)
progress_bar.setValue(50)
window.show()
sys.exit(app.exec_())
-
实现一个带有列表的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QListWidgetItem
app = QApplication(sys.argv)
window = QWidget()
list_widget = QListWidget(window)
item1 = QListWidgetItem('Item 1')
item2 = QListWidgetItem('Item 2')
list_widget.addItem(item1)
list_widget.addItem(item2)
list_widget.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有树形控件的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidget, QTreeWidgetItem
app = QApplication(sys.argv)
window = QWidget()
tree_widget = QTreeWidget(window)
root_item = QTreeWidgetItem(['Root'])
child_item1 = QTreeWidgetItem(['Child 1'])
child_item2 = QTreeWidgetItem(['Child 2'])
root_item.addChild(child_item1)
root_item.addChild(child_item2)
tree_widget.addTopLevelItem(root_item)
tree_widget.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有表格的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem
app = QApplication(sys.argv)
window = QWidget()
table_widget = QTableWidget(window)
table_widget.setRowCount(2)
table_widget.setColumnCount(2)
item1 = QTableWidgetItem('1')
item2 = QTableWidgetItem('2')
item3 = QTableWidgetItem('3')
item4 = QTableWidgetItem('4')
table_widget.setItem(0, 0, item1)
table_widget.setItem(0, 1, item2)
table_widget.setItem(1, 0, item3)
table_widget.setItem(1, 1, item4)
table_widget.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有日期选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDateEdit
app = QApplication(sys.argv)
window = QWidget()
date_edit = QDateEdit(window)
date_edit.setDate(QDate.currentDate())
date_edit.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有时间选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTimeEdit
app = QApplication(sys.argv)
window = QWidget()
time_edit = QTimeEdit(window)
time_edit.setTime(QTime.currentTime())
time_edit.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有日期时间选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDateTimeEdit
app = QApplication(sys.argv)
window = QWidget()
date_time_edit = QDateTimeEdit(window)
date_time_edit.setDateTime(QDateTime.currentDateTime())
date_time_edit.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有颜色选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QColorDialog
app = QApplication(sys.argv)
window = QWidget()
color_dialog = QColorDialog(window)
color_dialog.move(50, 50)
color_dialog.show()
sys.exit(app.exec_())
-
实现一个带有字体选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QFontDialog
app = QApplication(sys.argv)
window = QWidget()
font_dialog = QFontDialog(window)
font_dialog.move(50, 50)
font_dialog.show()
sys.exit(app.exec_())
-
实现一个带有文件选择器的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog
app = QApplication(sys.argv)
window = QWidget()
file_dialog = QFileDialog(window)
file_dialog.move(50, 50)
file_dialog.show()
sys.exit(app.exec_())
-
实现一个带有打印对话框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPrintDialog, QPrinter
app = QApplication(sys.argv)
window = QWidget()
printer = QPrinter()
print_dialog = QPrintDialog(printer, window)
print_dialog.move(50, 50)
print_dialog.show()
sys.exit(app.exec_())
-
实现一个带有消息框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
app = QApplication(sys.argv)
window = QWidget()
message_box = QMessageBox(window)
message_box.setText('Hello, world!')
message_box.move(50, 50)
message_box.show()
sys.exit(app.exec_())
-
实现一个带有输入对话框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog
app = QApplication(sys.argv)
window = QWidget()
input_dialog = QInputDialog(window)
input_dialog.move(50, 50)
input_dialog.show()
sys.exit(app.exec_())
-
实现一个带有进度对话框的窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QProgressDialog
app = QApplication(sys.argv)
window = QWidget()
progress_dialog = QProgressDialog(window)
progress_dialog.move(50, 50)
progress_dialog.show()
sys.exit(app.exec_())
-
实现一个带有颜色选择器的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QColorDialog
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Select color', window)
color_dialog = QColorDialog(window)
color_dialog.setCurrentColor(button.palette().button().color())
def on_button_clicked():
color = color_dialog.getColor()
if color.isValid():
button.setStyleSheet('background-color: %s;' % color.name())
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有字体选择器的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFontDialog
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Select font', window)
font_dialog = QFontDialog(window)
def on_button_clicked():
font, ok = font_dialog.getFont()
if ok:
button.setFont(font)
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有文件选择器的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Select file', window)
file_dialog = QFileDialog(window)
def on_button_clicked():
file_name, _ = file_dialog.getOpenFileName()
if file_name:
button.setText(file_name)
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有打印对话框的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QPrintDialog, QPrinter
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Print', window)
printer = QPrinter()
print_dialog = QPrintDialog(printer, window)
def on_button_clicked():
if print_dialog.exec_() == QDialog.Accepted:
# print the document
pass
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有消息框的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Show message', window)
message_box = QMessageBox(window)
message_box.setText('Hello, world!')
def on_button_clicked():
message_box.exec_()
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有输入对话框的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QInputDialog
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Get text', window)
input_dialog = QInputDialog(window)
input_dialog.setInputMode(QInputDialog.TextInput)
def on_button_clicked():
text, ok = input_dialog.getText(window, 'Input Dialog', 'Enter your name:')
if ok:
button.setText(text)
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有进度对话框的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QProgressDialog
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Show progress', window)
progress_dialog = QProgressDialog(window)
progress_dialog.setRange(0, 100)
def on_button_clicked():
progress_dialog.setValue(0)
for i in range(100):
progress_dialog.setValue(i)
button.clicked.connect(on_button_clicked)
button.move(50, 50)
window.show()
sys.exit(app.exec_())
-
实现一个带有标签的按钮
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
app = QApplication(sys.argv)
window = QWidget()
button = QPushButton('Click me!', window)
label = QLabel('Button not clicked', window)
def on_button_clicked():
label.setText('Button clicked')
button.clicked.connect(on_button_clicked)
button.move(50, 50)
label.move(50, 100)
window.show()
sys.exit(app.exec_())
-
实现一个带有滑块的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QSlider
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('50', window)
slider = QSlider(window)
slider.setOrientation(Qt.Horizontal)
slider.setRange(0, 100)
slider.setValue(50)
def on_slider_value_changed(value):
label.setText(str(value))
slider.valueChanged.connect(on_slider_value_changed)
label.move(50, 50)
slider.move(50, 100)
window.show()
sys.exit(app.exec_())
-
实现一个带有复选框的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QCheckBox
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Check me!', window)
check_box = QCheckBox(window)
def on_check_box_state_changed(state):
if state == Qt.Checked:
label.setText('Checked')
else:
label.setText('Unchecked')
check_box.stateChanged.connect(on_check_box_state_changed)
label.move(50, 50)
check_box.move(50, 100)
window.show()
sys.exit(app.exec_())
-
实现一个带有单选按钮的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Select me!', window)
radio_button1 = QRadioButton('Option 1', window)
radio_button2 = QRadioButton('Option 2', window)
def on_radio_button_clicked():
if radio_button1.isChecked():
label.setText('Option 1 selected')
elif radio_button2.isChecked():
label.setText('Option 2 selected')
radio_button1.clicked.connect(on_radio_button_clicked)
radio_button2.clicked.connect(on_radio_button_clicked)
label.move(50, 50)
radio_button1.move(50, 100)
radio_button2.move(50, 150)
window.show()
sys.exit(app.exec_())
-
实现一个带有列表的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QListWidget, QListWidgetItem
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Select an item:', window)
list_widget = QListWidget(window)
item1 = QListWidgetItem('Item 1')
item2 = QListWidgetItem('Item 2')
list_widget.addItem(item1)
list_widget.addItem(item2)
def on_list_widget_item_clicked(item):
label.setText('Item selected: %s' % item.text())
list_widget.itemClicked.connect(on_list_widget_item_clicked)
label.move(50, 50)
list_widget.move(50, 100)
window.show()
sys.exit(app.exec_())
-
实现一个带有树形控件的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QTreeWidget, QTreeWidgetItem
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Select an item:', window)
tree_widget = QTreeWidget(window)
root_item = QTreeWidgetItem(['Root'])
child_item1 = QTreeWidgetItem(['Child 1'])
child_item2 = QTreeWidgetItem(['Child 2'])
root_item.addChild(child_item1)
root_item.addChild(child_item2)
tree_widget.addTopLevelItem(root_item)
def on_tree_widget_item_clicked(item):
label.setText('Item selected: %s' % item.text(0))
tree_widget.itemClicked.connect(on_tree_widget_item_clicked)
label.move(50, 50)
tree_widget.move(50, 100)
window.show()
sys.exit(app.exec_())
-
实现一个带有表格的标签
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QTableWidget, QTableWidgetItem
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Select a cell:', window)
table_widget = QTableWidget(window)
table_widget.setRowCount(2)
table_widget.setColumnCount(2)
item1 = QTableWidgetItem('1')
item2 = QTableWidgetItem('2')
item3 = QTableWidgetItem('3')
item4 = QTableWidgetItem('4')
table_widget.setItem(0, 0, item1)
table_widget.setItem(0, 1, item2)
table_widget.setItem(1, 0, item3)
table_widget.setItem(1, 1, item4)
def on_table_widget_item_clicked(item):
row = item.row()
column = item.column()
label.setText('Cell selected: (%d, %d)' % (row, column))
table_widget.itemClicked.connect(on_table_widget_item_clicked)
label.move(50, 50)
table_widget.move(50, 100)
window.show()
sys.exit(app.exec_())