Analyze.py 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import os
  2. from PySide2.QtWidgets import *
  3. from PySide2.QtCore import *
  4. from PySide2.QtGui import *
  5. from ui.ui_Analyze import Ui_AnalyzeWindow
  6. from ui.ui_AddFile import Ui_AddFileWindow
  7. import GuiType
  8. class AddFileWindow(Ui_AddFileWindow, QDialog):
  9. def __init__(self, parent) -> None:
  10. super().__init__()
  11. self.file_suffix = [".f *.lst *.list *.v *.sv", "All Files"]
  12. self.setupUi(self)
  13. self.init_tableWidget()
  14. self.move(parent.x()+(parent.width()-self.width())/2,parent.y()+(parent.height()-self.height())/2)
  15. self.show()
  16. def init_tableWidget(self):
  17. # 表格随窗口适应大小
  18. self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
  19. self.tableWidget.setHorizontalHeaderItem(0, QTableWidgetItem("/etc"))
  20. comBox1 = QComboBox()
  21. comBox1.addItems(self.file_suffix)
  22. self.tableWidget.setCellWidget(0,0,comBox1)
  23. files = os.listdir(os.getcwd())
  24. for i in range(0, 3):
  25. self.tableWidget.insertRow(i)
  26. self.tableWidget.setItem(i,0, QTableWidgetItem(files[i]))
  27. class AnalyzeWindow(Ui_AnalyzeWindow, QDialog):
  28. def __init__(self, mainWindow) -> None:
  29. super().__init__()
  30. self.file_types = ["Filelist", "Netlist", "Verilog 2001", "Verilog 2005", "SystemVerilog 2005", "SystemVerilog 2009", "SystemVerilog 2012"]
  31. self.add_file_win = None
  32. self.setupUi(self)
  33. self.init_tableWidget()
  34. self.bnt_AddFile.clicked.connect(self.add_file_dialog)
  35. self.bnt_AddPath.clicked.connect(self.add_file_windows)
  36. self.bnt_Remove.clicked.connect(self.add_file_windows)
  37. self.bnt_RemoveAll.clicked.connect(self.add_file_windows)
  38. self.move(mainWindow.x()+(mainWindow.width()-self.width())/2,mainWindow.y()+(mainWindow.height()-self.height())/2)
  39. self.show()
  40. def init_tableWidget(self):
  41. self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
  42. self.tableWidget.itemClicked.connect(self.itemClicked)
  43. self.tableWidget.itemSelectionChanged.connect(self.itemSelectionChanged)
  44. self.tableWidget.clicked.connect(self.clicked)
  45. comBox = QComboBox()
  46. comBox.addItems(self.file_types)
  47. self.tableWidget.setCellWidget(0,0,comBox)
  48. self.tableWidget.setItem(0,1, QTableWidgetItem("/etc"))
  49. comBox1 = QComboBox()
  50. comBox1.addItems(self.file_types)
  51. self.tableWidget.setCellWidget(1,0,comBox1)
  52. self.tableWidget.setItem(1,1, QTableWidgetItem("/home/opt"))
  53. self.tableWidget.setItem(2,0, QTableWidgetItem("Search Path"))
  54. self.tableWidget.setItem(2,1, QTableWidgetItem("/"))
  55. def add_file_windows(self):
  56. dialog = AddFileWindow(self)
  57. dialog.exec_()
  58. def add_file_dialog(self):
  59. f = QFileDialog()
  60. res= f.getOpenFileName(filter="Verilog or Netlist Files((*.v);;SystemVerilog Files(*.sv);;Filelists(*.f *.lst *.list);;All files(*.*)")
  61. print(res)
  62. def mousePressEvent(self, event:QPoint):
  63. print('event')
  64. p = event.pos()
  65. index = QModelIndex(p)
  66. if not index.isValid():
  67. print('not valide')
  68. # setCurrentIndex(QModelIndex())
  69. # emit sigPressEmpty()
  70. return
  71. super().mousePressEvent(event)
  72. def itemClicked(self):
  73. print("itemClicked")
  74. def clicked(self):
  75. print("clicked")
  76. def itemSelectionChanged(self):
  77. self.bnt_Remove.setEnabled(True)
  78. print("itemSelectionChanged")