连接 python 库的方式与标准过程类似,无论是 c /Java/其他:
import sys import openpyxl from pyqt5 import qtwidgets from pyqt5.qt import qtablewidgetitem from pyqt5.qtwidgets import ( qapplication, qmainwindow, qpushbutton, qvboxlayout, qwidget, qtablewidget, )
由于缺乏python调试器,很难验证构建的正确性和库的存在。带有操作系统提示的命令行 (cli) 非常有用。
def appication(): app=qapplication(sys.argv) window = qmainwindow() window.setwindowtitle("smart home") window.setgeometry(300, 250, 300, 200) window.show() sys.exit(app.exec_()) if __name__=="__main__": appication()
.py 文件扩展名出现在当您在终端中将文件作为命令运行时,构建器从项目的位置路径中提取:
- 补充主项目的文件,即描述图形/集成结构的库和 xml(包括 mysql)
- 终端通常将可执行文件的路径存储在计算机的系统存储中,如archlinux。程序集本身会提取必要的库(如果它们是标准的/您将它们放在那里)
- 因此,提前将所有必要的扩展添加到根路径
- 添加管理员安全设置的路径,因为安全系统有时会显式忽略未描述的异常(在设置路径中执行此操作)
lass MainWindow(QMainWindow): def __init__(self): super().__init__() self.setMinimumWidth(1200) self.setMinimumHeight(600) layout = QVBoxLayout() self.table = QTableWidget(self) self.table.setRowCount(4) self.table.setColumnCount(4) layout.addWidget(self.table) btn = QPushButton("Download") btn.clicked.connect(self.btn_click) layout.addWidget(btn) widget = QWidget() widget.setLayout(layout) self.setCentralWidget(widget) def btn_click(self): wb = load_workbook('./123.xlsx') # Get sheet names sheet = wb['Sheet1'] print(sheet.cell(row=2, column=1).value) for row in range(1, 5): for column in range(1, 5): item = QTableWidgetItem() item.setText(str(sheet.cell(row=row, column=column).value)) self.table.setItem(row-1, column-1, item) app = QApplication(sys.argv) window = MainWindow() window.show() app.exec()
我不太相信 python 环境的图形 shell;通常,它们使与文件的交互变得复杂。正确安装带有约定的库可以更轻松地与代码交互。级别越轻、越原始越好。进化告诉现实——而不是相反。