用pyqt5写一个界面: 第一行label写E96标识,接着一个复选框,接着一个文本输入框 第二行label写标准组织,接着一个复选框,接着一个文本输入框 第三行一个查询按钮,接着一个清除按钮 业务要求: 勾选了第一个复选框,第二个复选框禁用置灰,点击查询,使用第一个文本框输入的内容查询 勾选了第二个复选框,第一个复选框禁用置灰,点击查询,使用第二个文本框输入的内容查询 输入的内容在当前文件夹下的名为 E-96精密贴片电阻阻值对照表.xls 的表格中查询, 查询结果取第一个,如过查询到的结果在奇数列,则将其右边单元格的数值显示在第一个文本框内,反之显示在第二个文本框内
时间: 2024-04-08 11:33:38 浏览: 92
以下是使用PyQt5编写的界面代码示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QCheckBox, QLineEdit, QPushButton, QHBoxLayout, QVBoxLayout
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("E96查询界面")
self.resize(400, 200)
self.label1 = QLabel("E96标识")
self.checkbox1 = QCheckBox()
self.checkbox1.setChecked(True)
self.checkbox1.stateChanged.connect(self.checkbox1_stateChanged)
self.textbox1 = QLineEdit()
self.label2 = QLabel("标准组织")
self.checkbox2 = QCheckBox()
self.checkbox2.stateChanged.connect(self.checkbox2_stateChanged)
self.textbox2 = QLineEdit()
self.query_button = QPushButton("查询")
self.query_button.clicked.connect(self.query)
self.clear_button = QPushButton("清除")
self.clear_button.clicked.connect(self.clear)
layout = QVBoxLayout()
layout1 = QHBoxLayout()
layout1.addWidget(self.label1)
layout1.addWidget(self.checkbox1)
layout1.addWidget(self.textbox1)
layout2 = QHBoxLayout()
layout2.addWidget(self.label2)
layout2.addWidget(self.checkbox2)
layout2.addWidget(self.textbox2)
layout3 = QHBoxLayout()
layout3.addWidget(self.query_button)
layout3.addWidget(self.clear_button)
layout.addLayout(layout1)
layout.addLayout(layout2)
layout.addLayout(layout3)
self.setLayout(layout)
def checkbox1_stateChanged(self, state):
if state == 2:
self.checkbox2.setDisabled(True)
self.checkbox2.setChecked(False)
else:
self.checkbox2.setDisabled(False)
def checkbox2_stateChanged(self, state):
if state == 2:
self.checkbox1.setDisabled(True)
self.checkbox1.setChecked(False)
else:
self.checkbox1.setDisabled(False)
def query(self):
if self.checkbox1.isChecked():
value = self.textbox1.text()
result = self.search_table(value)
if result:
if result.column() % 2 == 0:
self.textbox1.setText(str(result.value()))
else:
self.textbox2.setText(str(result.value()))
elif self.checkbox2.isChecked():
value = self.textbox2.text()
result = self.search_table(value)
if result:
if result.column() % 2 == 0:
self.textbox2.setText(str(result.value()))
else:
self.textbox1.setText(str(result.value()))
def search_table(self, value):
# 在当前文件夹下的名为 E-96精密贴片电阻阻值对照表.xls 的表格中查询
# 实现表格查询的代码逻辑
pass
def clear(self):
self.textbox1.clear()
self.textbox2.clear()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这是一个简单的界面示例,你可以根据需要进行修改和定制。其中,`search_table`函数需要根据你的实际情况来实现表格查询的逻辑。请确保在当前文件夹下有名为`E-96精密贴片电阻阻值对照表.xls`的表格文件。
阅读全文