Pythonで感情メーターを作る(最後)

I wrote: 2016/11/08

Pythonで感情メーターを作るはこれで最後です。

UIは変更して幸せメーターにしました、同じ処理を組むのがちょい面倒だったので(-_-;)
まあ、感情の中には幸せがあるのでいいでしょう、そうしよう!開き直る!
で、最終的に使った主なGUI部品はQTableWidget、QTableWidgetItem、QPushButtonでした。

やっぱ、PyQt使うとそれほど作るの難しくはなかったよ!٩( 'ω' )و

以下はソース
import sys
from PyQt4 import QtGui,QtCore,uic
from Foo import Ui_MainWindow

class Sample(QtGui.QMainWindow): 
    def __init__(self, parent = None):
        super(Sample, self).__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.happy = 10

        for i in range(10):
            item = QtGui.QTableWidgetItem()
            item.setFlags(QtCore.Qt.ItemIsEnabled)
            self.ui.tableWidget.setItem(i,0,item)
        self.ui.tableWidget.setHorizontalHeaderLabels(["幸せ"])

        QtCore.QObject.connect(self.ui.happyPBtn, QtCore.SIGNAL("clicked()"), self.happyPlus)
        QtCore.QObject.connect(self.ui.happyMBtn, QtCore.SIGNAL("clicked()"), self.happyMinus)

    def happyPlus(self):
        if self.happy <= 0: return;
        self.happy -= 1
        item = self.ui.tableWidget.takeItem(self.happy,0)
        item.setBackground(QtGui.QColor("HotPink"))
        self.ui.tableWidget.setItem(self.happy,0,item)

    def happyMinus(self):
        if self.happy >= 10: return;
        item = self.ui.tableWidget.takeItem(self.happy,0)
        item.setBackground(QtCore.Qt.white)
        self.ui.tableWidget.setItem(self.happy,0,item)
        self.happy += 1

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    sample = Sample()
    sample.show()
    sys.exit(app.exec_())
実行されたアプリケーション(動くのでgifで貼ってます)
out

gifって画像が荒くなるね(´・ω・`)