1

および整数F(n,m)を使用した python 関数があり、その値をテーブルにグラフィカルに表示したいと考えています。nm

このようなもの:

ここに画像の説明を入力

N と M の 1 から大きな値 (場合によっては ~1000) までを印刷する必要があり、コンソールでは読み取ることができないため、グラフィカルに (GUI に) 表示する必要があります。

さらに、n と m の組み合わせによっては、これらのケースの値をより明確に表示するために、色を変更する必要があります。

できるだけ便利にPythonでそれを行う方法を尋ねたいと思います。

注意: この表は、Google 画像でランダムに見つかりました。その内容は、私が必要としているものとは何の関係もありません。F(n,m) integers を印刷する必要があります。sin、cos などとは関係ありません。自然数のみなどです。この画像に関連するのはグラフィカル テーブルのみです。

4

2 に答える 2

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_())

ここに画像の説明を入力

于 2013-04-01T01:48:20.187 に答える
1

Web ページを出力として作成するのが良い解決策かもしれません。標準出力または出力ファイルに html ファイルを出力することでこれを行うことができます。

結果の Web ページで、データをテーブルに表示できます。次のコードを見てください。

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>'
于 2013-04-01T00:18:40.187 に答える