我有一个python函数F(n,m)
,n
和m
整数,我希望以图形方式显示其值。
这样的事情:
我必须以图形方式(进入某些gui),因为我需要从1打印到N和M的大值(有时是~1000),而在控制台中则无法读取。
另外,对于n和m的某些组合,我需要更改颜色,以便更清楚地了解这些情况的值。
我想问一下如何在python中尽可能方便地做到这一点。
注意:这张表是在谷歌图片上随机找到的。它的内容与我的需求无关。我需要打印F(n,m)整数,与sin,cos等无关。只有自然数等。只有图形表与此图像相关。
答案 0 :(得分:2)
使用PyQt4:
import sys
from PyQt4 import QtCore, QtGui
def F(n, m):
return n + m
class MainWindow(QtGui.QWidget):
# http://stackoverflow.com/a/11458784/190597 (reclosedev)
def __init__(self, parent=None):
self.rows = range(50)
self.cols = range(100)
super(MainWindow, self).__init__(parent)
self.table_widget = QtGui.QTableWidget()
layout = QtGui.QVBoxLayout()
layout.addWidget(self.table_widget)
self.setLayout(layout)
self.populate()
def populate(self):
self.table_widget.setRowCount(len(self.rows))
self.table_widget.setColumnCount(len(self.cols))
self.table_widget.setHorizontalHeaderLabels(map(str, self.cols))
for i, n in enumerate(self.rows):
for j, m in enumerate(self.cols):
value = QtGui.QTableWidgetItem(str(F(n, m)))
self.table_widget.setItem(i, j, value)
self.table_widget.item(5,2).setBackgroundColor(QtGui.QColor(0,255,255))
self.table_widget.item(5,2).setTextColor(QtGui.QColor("red"))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
wnd = MainWindow()
wnd.resize(640, 480)
wnd.show()
sys.exit(app.exec_())
答案 1 :(得分:1)
也许建立一个网页作为输出可以是一个很好的解决方案,你可以通过在标准输出或输出文件中打印html文件来做到这一点。
在结果网页中,您可以在表格中显示数据,请查看以下代码:
print '<html><body>'
print '<table style="border: 1px solid;">'
print '<tr><th>A</th><th>sin A</th><th>cos A</th>...</tr>'
for item in data:
print '<tr>'
print '<td>', item['degree'], '</td>'
print '<td>', item['sin'], '</td>'
print '<td style="color: {}">'.format('red' if item['cos'] > 20 else 'blue'), item['cos'], '</td>'
...
print '</tr>'