2017-10-13 12 views
0

私はPyQt5を使用しているときに問題を扱っていました。私はすでに(スプレッドシートから)pandasで作られたDataFrameを表示するQTableWidgetを作成しました。cellDoubleClicked text python

私がうまくやっていないのは次のことです:ユーザーがダブルクリックするようにテキストを取得します。その情報を使用して選択内容に基づいて新しいウィジェットを構築できます。

何私が学んだことは、私は最初の関数をダブルクリックして、私はその後継続カント接続する必要があるということです。

次のように私のQTableWidget上の私の接続が行く:

(私の下でメインウィンドウウィジェット)

self.tableView.cellDoubleClicked.connect(self.expandShipments) 

def expandShipments(self): 

*** code i need to get doubleClicked cell text *** 
"その後私はこの信号が接続(expandShipments)関数を宣言します"

このケースでは本当に感謝しています。

ありがとうございました。教示

EDIT:これは私のテーブルに入力される方法です。

QTableWidget。

def loadFile(self): 
    fileName='C:/Users/310287757/Desktop/JLG/Programming/tstBIGDF.xlsx' 
    df = pandas.read_excel(fileName, sheetname='MAIN', header=0) # read file and set header row 
    df= df.loc[df['Name Opp'] == self.comboProy.currentText()] 
    self.tableView.setColumnCount(len(df.columns)) 
    self.tableView.setRowCount(len(df.index)) 
    tags=[] 
    for ele in list(df.columns.values): 
     tags.append(ele) 

    self.tableView.setHorizontalHeaderLabels(tags) 
    for i in range(len(df.index)): 
     for j in range(len(df.columns)): 
      self.tableView.setItem(i, j, QTableWidgetItem(str(df.iat[i, j]))) 

    self.tableView.resizeColumnsToContents() 
    self.tableView.resizeRowsToContents() 
    PPen = df['Pending amount'].values.sum() 
    PTot = df['total item amount'].values.sum() 
    PP=("Pendiente por facturar: U$S %.2f"% PPen) 
    PT=("Total: U$S %.2f" % PTot) 
    self.lblPEND.setText(PP) 
    self.lblTOTAL.setText(PT) 

    del df,fileName,tags 
+0

コードを表示してください。 – eyllanesc

+0

QTableWidgetまたはQTableView? – eyllanesc

+0

あなたのウィジェットのデータを記入する方法をコードで示すことができます。 – eyllanesc

答えて

0

cellDoubleClicked信号は行と列を送信します。したがって、コードは次のようになります。

self.tableView.cellDoubleClicked.connect(self.expandShipments) 
... 

def expandShipments(self, row, column): 
    item = self.tableView.item(row, column) 
    print(item.text()) 
+0

Merci Beaucoup! Btw私はこのケースではダミーの音が聞こえるかもしれないことは知っていますが、私はPyqtモジュールのドキュメンテーションが時々分かりにくいと感じています。 kudos –

+0

@JayLopezもしあなたが正しく理解できるC++の最小値を知っているなら、Qtのドキュメントを使用してください。 :P – eyllanesc