QTimer timer;
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比鳳陽網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鳳陽網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鳳陽地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
timer.setInterval(1000);
timer.start();
connect(timer,SIGNAL(timeOut()),this,SLOT(myTimerout()));
void thisObject::myTimerOut()
{
ui-textBrowser-append(QString("hello === %1").arg(i));
}
用openpyxl讀取excel的load_workbook有個data_only參數(shù)。
例如:
yb_wb = load_workbook(u"D:\Desktop\xxx.xlsx", data_only=True)顧名思義,True時,只讀data,忽略公式。
但是有個情景是——得先保留公式,根據(jù)舊公式寫入新公式。然后再讀取值進行操作。也就是說先data_only = False,然后再data_only = True。
這樣會導(dǎo)致讀取值操作的時候,公式全部沒有了。對,全部為空。就是這么奇怪。
wb = openpyxl.load_workbook(‘a(chǎn)bc.xlsx’, data_only=True)
當’abc.xlsx’被生成并在Excel程序中打開并保存之后(這個過程Excel會把公式結(jié)果計算出來),該文件附帶有兩套值,一套是公式全都沒有計算的(data_only=False(默認)),一套是公式計算了結(jié)果的(data_only=True)。(如果沒有被Excel打開并保存,則只有一套值(data_only=False的那套,公式?jīng)]有計算結(jié)果的)。
此時,以data_only=True或默認data_only=False打開會得到兩種不同的結(jié)果,各自獨立,即data_only=True狀態(tài)下打開的,會發(fā)現(xiàn)公式結(jié)果為None(空值)或者一個計算好的常數(shù),而不會看到它原本的公式是如何。而data_only=False則只會顯示公式而已。因此,data_only=True狀態(tài)下打開,如果最后用save()函數(shù)保存了,則原xlsx文件中,公式會被替換為常數(shù)結(jié)果或空值。而data_only=False狀態(tài)下打開,最后用save()函數(shù)保存了的話,原xlsx文件也會只剩下data_only=False的那套值(即公式),另一套(data_only=True)的值會丟失,如想重新獲得兩套值,則仍舊需要用Excel程序打開該文件并保存。
解決方法:
可以定義一個刷新函數(shù)重新打開一次并保存。
from win32com.client import Dispatch
def just_open(filename):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
print('自動更新結(jié)束')
filename = r"D:\Desktop\xxx.xlsx"
just_open(filename)
先調(diào)用win32com打開一次,就OK,原公式就會變成值,后面就可以愉快的操作了。
一個建議的編程思想:
通過一個可變變量來傳遞任務(wù)完成的進度,例如可變變量命名為p,(p位于0到1之間,表示百分比。)
主程序顯示一個progressbar,其值為p。
DoJob()在運行過程中會更改p的值。
則此更改在mainloop()的作用下將實時顯示到progressbar上。
from?tkinter?import?*
import?time
def?updatetimer():
timer=time.strftime("%H:%M:%S")
timelabel.configure(text=timer)
timelabel.after(1000,updatetimer)
root=Tk()
timelabel=Label(root)
timelabel.pack()
timelabel.after(1000,updatetimer)
root.mainloop()
是在IDLE中? 清空當前屏幕就可以了 cls , 或者你就重新賦值,默認會自動覆蓋的
網(wǎng)頁標題:python刷新界面函數(shù) python 刷新
文章路徑:http://chinadenli.net/article18/dodcsgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、虛擬主機、用戶體驗、網(wǎng)站內(nèi)鏈、網(wǎng)站維護、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)