第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 刷新 GUI 以創(chuàng)建另一個輸出

Python 刷新 GUI 以創(chuàng)建另一個輸出

慕村9548890 2022-10-06 19:17:54
我對 Python 很陌生。我正在嘗試創(chuàng)建一個從 Smartsheet 表打印數(shù)字然后將其刪除的應(yīng)用程序。問題是我只能打印一次,一旦我再次單擊“創(chuàng)建”按鈕,它會給出錯誤消息。我相信當(dāng)我再次單擊“創(chuàng)建”按鈕時,它會從工作表中返回已刪除的數(shù)字。謝謝!{"response": {"statusCode": 404, "reason": "Not Found", "content": {"detail": {"ids": [3462338204985220], "type": "row"}, "errorCode": 1006, "message": "Not Found", "refId": "hcuqkioxqz46"}}}這是存儲一系列數(shù)字的工作表: 這是我的代碼:#Smartsheet client access tokensmartsheet_client = smartsheet.Smartsheet('access token')#Order Dashboard sheet IDMySheet=smartsheet_client.Sheets.get_sheet(sheet_id)def conceptnum():    n=1    for Myrow in MySheet.rows:        while n==1:            for Mycell in Myrow.cells:                row_ids=Myrow.id                label1['text']=int(Mycell.value)                label2['text']="Your concept number is created"                 smartsheet_client.Sheets.delete_rows(                sheet_id,                       # sheet_id                row_ids)     # row_ids            n=n-1Height=100Width=200root=tk.Tk()canvas=tk.Canvas(root, height=Height, width=Width)canvas.pack()frame=tk.Frame(root, bg="grey")frame.place(relx=0.05, rely=0.3, relwidth=0.9, relheight=0.4)button=tk.Button(root, text="Create",command=conceptnum)button.pack(side='bottom')label1=tk.Label(frame,font=15)label1.place(relx=0.1, rely=0.1,relwidth=0.8, relheight=0.8)label2=tk.Label(root)label2.place(relwidth=1,relheight=0.2)root.mainloop()  
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊

如當(dāng)前所寫,您的conceptnum()函數(shù)正在執(zhí)行此操作:

for each row in the sheet -> 
  for each cell in the current row ->
    ...
    delete the current row

因此,如果您的工作表包含多于一列,您的腳本將:

  • 獲取工作表的第一行

  • 獲取正在處理的行的第一個單元格的值

  • 從工作表中刪除行

  • 獲取正在處理的行的第二個單元格的值

  • 從工作表中刪除行->此刪除行請求(以及正在處理的行中每個附加列/單元格的后續(xù)請求)將返回“未找到”錯誤-因?yàn)樵撔胁辉俅嬖谟诠ぷ鞅碇?您在讀取第一個單元格值后將其刪除。

假設(shè)您的目標(biāo)是讀取工作表第一行的第一個單元格中的值,然后從工作表中刪除該行,這是一個可以執(zhí)行此操作的函數(shù) - 請注意我已經(jīng)更改了函數(shù)名稱和變量名遵循 Python 風(fēng)格約定(小寫帶下劃線):

def concept_num():


    # get sheet

    my_sheet = smartsheet_client.Sheets.get_sheet(sheet_id)


    # initialize row_id

    row_id = None


    for row in my_sheet.rows:

        # get the ID of the current (first) row

        row_id = row.id


        # get the Cell object for the first cell of the current (first) row

        cell = row.cells[0]


        # set labels

        label1['text'] = int(cell.value)

        label2['text'] = 'Your concept number is created' 


        # exit the 'for' loop (so that only the first row is processed)

        break


    # delete the row that was just processed

    if row_id != None:

        smartsheet_client.Sheets.delete_rows(sheet_id, row_id)

    else:

        label1['text'] = 'n/a'

        label2['text'] = 'Concept number not found.'

編輯 2020 年 4 月 13 日:


您需要在每次concept_num函數(shù)運(yùn)行時獲取工作表——以便my_sheet反映工作表的當(dāng)前內(nèi)容(即,不再包含在函數(shù)之前運(yùn)行時被刪除的行)。我已經(jīng)相應(yīng)地更新了上面的代碼片段(即,在函數(shù)頂部添加了get sheetconcept_num調(diào)用)。如果單擊“創(chuàng)建”按鈕else時工作表不再包含數(shù)字,我還在代碼片段的末尾添加了代碼(使用)來相應(yīng)地更新標(biāo)簽。


查看完整回答
反對 回復(fù) 2022-10-06
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號