python多窗口
1. python編寫程,程序的窗口,有那麼多都有什麼去區別,請認真看完
程序語言,就和我們的普通文章一樣,是具有特定語法的文本,所以,只要可以編輯文本就可以編程。
寫好的程序,還帶拿需要蠢核搭編譯器或者氏橘解釋器,轉換成CPU可以識別的指令,電腦才可以運行。
於是為了更方便的編程,就把文本編輯器和編譯工具及其他的編程輔助工具集合在一起,也就是常說的IDE編程環境。
2. python程序的窗口化
如果我沒有理解錯的話,看樣子你應該不需要.net,就是自己的一個程序想要個圖形界面而已。
我自己曾經也想給自己的程序添加圖形界面,但是後來放棄了!因為嘗試後發現太麻煩!比matlab寫圖形界面麻煩多了……最後我是用的後面加參數的調用方法,圖形界面還是用vb開發好……反正用linux的根本不在乎圖形界面。
扯遠了……總體來說,python的圖形界面最常用的就是兩個,自帶的tkinter(tcl/tk)和第三方的WxPython。後者比前者強大很多倍。不過,反正我自己覺得你用第一個也夠了,還可以縮小體積增加兼容性。wxpython很強大,而且熟悉後開發很快。關鍵就是熟悉他麻煩,太多要學的了。聽咱的,看幾個簡單例子用tkinter搞定得了……
好吧。tkinter大致過程如下。我個人覺得太小的程序就不用分成多個py文件了(反正我習慣不好),因為tkinter裡面,定義窗體是一個tkinter的實例,然後再mainloop表示界面結束後,你可以隨便定義自己的方法什麼的。(為什麼我總是跑題啊啊啊……)
咳咳。給你幾個例子吧。
==============================================
強調:詳細內容必須自己看說明!我會在文末和參考文獻中給出!
當然,這個回答推薦你復制到具有語法加亮的編輯器中看,比如notepad++之類。
================================================
#首先是Fredrik Lundh版本的hello world,這是最簡單的版本:
# File: hello1.py
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
# root=Tk()將創建一個窗體。然後w.pack()的時候將內容更新上去。這句是最重要的一句,無論如何都少不了的。在後面的例子中你會注意到一開始定義了很多窗體的東西,但是最後都會用這句來生成窗體。然後用mainloop()來接收操作。當然,這會徹底佔用這個線程。
#================================
#再來看python官方doc文檔裡面的hello world,這個實力包含了大多數元素。
from Tkinter import *
class Application(Frame):
def say_hi(self):
print "hi there, everyone!"
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
#這個實例裡麵包括了按鈕,如何調用自己的方法,等等。但是沒有文本框和菜單等。
#我想我不應該把所有的東西都寫在這里了,比較這裡面的東西很多,需要你自己學一下。
#但是相信我,這個學起來不wxpython容易多了,因為有很多寫的很好的教程。
#除非,你英語不好。但是這也不會影響太多,因為把第一個教程(An Introction to Tkinter ——by Fredrik Lundh)中的例子一個一個做一次你就明白了每個語句是什麼用的了。
===========================
參考資料(一定要去看哦!比去論壇和郵件組方便多了!):
【1】An Introction to Tkinter ——by Fredrik Lundh
online:http://www.pythonware.com/library/tkinter/introction/index.htm
PDF: http://www.pythonware.com/media/data/an-introction-to-tkinter.pdf
這本是推薦入門教程!因為例子真的很細很簡單!和那本《a bite of python》(好像叫python簡明教程?)相比真的很像!不過作者當然不是一個人了。
【2】Tkinter 8.4 reference: a GUI for Python ——by New Mexico Tech Computer Center
online:http://www.nmt.e/tcc/help/pubs/tkinter/
PDF :http://www.nmt.e/tcc/help/pubs/tkinter/tkinter.pdf
和名字取得一樣,就是一本參考書,為了方便查詢的。推薦讀了第一本需要的時候查這個。說起來第一本就應該是」指南「了,哈哈……
【3】24.1. Tkinter — Python interface to Tcl/Tk —— Official library
online: http://docs.python.org/library/tkinter.html
這個是官方的參考。真不愧是官方的,一般人都看不懂……很詳細的列出了很多東西,然後用很小的篇幅把他們都融入了進去,幾乎沒有例子。等你基本熟悉了之後在看吧,反正我覺得不看也罷,官方的東西都是裹腳布,還是用了很多年的那種!看的想罵人
=======================
基本上就是這樣了。
反正命令行也挺好。因為python開發出的gui是在太丑了!想要好看的gui ?微軟的Expression吧……那東西開發出來超好看。不過就必須用vb或者C#了……而且windows限定……
3. python matplotlib 同時創建多個窗口
在此我只想強調一下各種庫的文檔、示例等自帶資料的重要性。
下面都是matplotlib的demo裡面的,正是你需要的這些功能。
multiple_figs_demo.py
#!/usr/bin/envpython
#
frompylabimport*
t=arange(0.0,2.0,0.01)
s1=sin(2*pi*t)
s2=sin(4*pi*t)
figure(1)
subplot(211)
plot(t,s1)
subplot(212)
plot(t,2*s1)
figure(2)
plot(t,s2)
#
figure(1)
subplot(211)
plot(t,s2,'gs')
setp(gca(),'xticklabels',[])
figure(1)
savefig('fig1')
figure(2)
savefig('fig2')
show()
下面是關於pdf的multipage_pdf.py
#Thisisademoofcreatinga兄好pdffilewithseveralpages.
importdatetime
importnumpyasnp
importmatplotlib
frommatplotlib.backends.backend_pdfimportPdfPages
frompylabimport*
#Create羨碰鉛:
pdf=PdfPages('multipage_pdf.pdf')
figure(figsize=(3,3))
plot(range(7),[3,1,4,1,5,9,2],'r-o')
title('PageOne')
savefig(pdf,format='pdf')#notetheformat='pdf'吵啟argument!
close()
rc('text',usetex=True)
figure(figsize=(8,6))
x=np.arange(0,5,0.1)
plot(x,np.sin(x),'b-')
title('PageTwo')
pdf.savefig()#here'sanotherway-oryoucoulddopdf.savefig(1)
close()
rc('text',usetex=False)
fig=figure(figsize=(4,5))
plot(x,x*x,'ko')
title('PageThree')
pdf.savefig(fig)#.savefig
close()
#Wecanalsosetthefile'smetadataviathePdfPagesobject:
d=pdf.infodict()
d['Title']='MultipagePDFExample'
d['Author']=u'JouniK.Seppxe4nen'
d['Subject']=''
d['Keywords']=''
d['CreationDate']=datetime.datetime(2009,11,13)
d['ModDate']=datetime.datetime.today()
#Remembertoclosetheobject-
pdf.close()
4. python tkinter要實現關閉一個窗口的同時,在打開一個新窗口,應該怎麼修改
1、首先確認你電腦上的python是正常的,同時tkinter模塊安裝正常。如下面圖中所示,輸入python命令可以看到正常的命令行界面,然後執行導入命令:
from tkinter import *
tkinter安裝正常的話就不會報錯,如下面圖中所示:
5. Python 怎麼 打開軟體默認是多窗口
window2.mainloop()和window3.mainloop()刪除就可以實現了。
Toplevel不需要mainloop。
6. Python怎麼執行.bat裡面的多個命令啊多開黑窗,然後隱藏黑窗
在bat腳本中使用 start 啟動程序,例如:
start"java-jar...4452"
start"java-jar...4453"
7. python3.6 多窗口界面,次級界面按鈕的具體位置怎麼放啊,我主窗口都可以調位置的
用代碼來畫界面太原始了。用pyqt吧
8. python 怎麼打開2個窗口。一個窗口寫程序,一個窗口可以顯示結果。
干嗎不用pyscripter之類的呢?很多ide可以顯示console窗口的。
9. 讓人得心應手的Python編輯器有哪些
一款順手的好的編輯器可以讓程序員寫代碼更得心應手,效率也會更高,但是編輯器本身沒有好壞,只有使用者使用起來是否順手而已,這里簡單給大家介紹幾款常用的可以編輯Python的軟體。
一、終端直接編寫
windows系統:Win+r,然後在運行框中輸入cmd即可打開終端。MAC系統:可以在Launchpad中直接打開終端。
簡單說明(針對上圖數字處說明)
1、Python3:說明我們的代碼是使用的python3的版本,目前有python2和python3兩個版本,毫無疑問python3是比較新的版本也是官方推薦的版本,如果想使用python2的代碼的話只需要寫python就就行了,不需要加數字2了。
2、版本信息:這一段是寫完python3之後自動生成的,主要是介紹一下我們當前的版本
3、編寫代碼:「>>>」表示當前進入python的編輯頁面,print(「hello,Python」)是我們的第一行python代碼,一個列印功能的函數,所有語言的學習幾乎都是從「hello ,World」或者「hello,XX」開始的。
4、執行結果:「hello,Python」就是我們第三個代碼執行的列印結果,這就是我們的第一個python程序。
5、補充說明:這個功能多數僅僅只用於測試一些函數功能等等,很少直接用於開發。
二、vim編輯器
打開vim編輯器,在終端中輸入:vim + 文件名的方式。vim表示進入vim編輯器的命令,hello.py表示我創建的一個python文件,而且會把我寫的代碼保存在hello.py文件中回車執行進入vim界面。
進入vim界面的時候默認是不可以被編輯,如果我們要編輯,需要先按下字母「i」鍵,才能編寫代碼。還是寫上我們的第一句代碼 print(「hello,Python」),這時候我們如果有很多行代碼可以一直寫下去,當我們把代碼寫完了,需要退出vim頁面,在終端中才能執行我們的代碼,所以vim只能編寫代碼。
那要怎麼樣才能退出vim編輯頁面呢?
按ESC鍵:下面的–INSERT–就會消失。在按「 :wq 」鍵,w:表示保存,q:表示退出。然後就可以又回到終端頁面了。
退出到終端頁面,我們可以用python3+「要執行的python文件」,來執行程序,其中hello,python就是我們執行出來的結果。
三、IDLE
IDLE是 python 程序自帶的IDE開發工具,伴隨著python的安裝自動安裝的。IDLE的使用和在終端中使用方法一樣,但是多了代碼高亮等功能,所以IDLE就不多給大家介紹了。
相關推薦:《Python視頻教程》
四、HBuilder
HBuilder是一款主要從事Web開發的軟體,支持很多類庫,擴展性強,但是比較龐雜冗餘
五、Atom
Atom如果需要運行Python程序,需要下載插件,但是Atom下載插件需要FQ,所以相對於小白來說有點復雜了,需要下載atom-python-run或者script插件,具體怎麼安裝,大家自行網路去吧,我就不多說了。
打開Atom軟體,File->New flie 然後創建一個文件以.py結尾即可。
六、sublime Text
Sublime Text功能強悍,但是又不會有太多冗餘的功能,界面風格簡潔,同時支持Windows/MAC/Linux等操作系統,也是本人比較推薦的一款軟體。
打sublime Text選擇File -> New file創建一個以.py結尾的文件即可,執行使用control+b
七、PyCharm
PyCharm是一種Python IDE,其擴展功能也很豐富。
打開PyCharm編輯器Create New Project ->選擇PurePython
創建好項目後就開始創建文件File -> New File創建一個以.py結尾的文件即可
八、總結
終端:操作簡單,多用於功能和函數測試,不適合項目開發。
vim:便捷快速,沒有任何多餘的冗雜的亂七八糟的功能,可以用於開發。
IDLE:是python自帶的編譯器,相當於vim的增強版。
HBuilder:是一款功能強大的編譯器,插件也非常齊全,但是多用與Web的開發,所以python開發不經常使用。
Atom:和HBuilder一樣也是一款插件和功能都非常強大的編譯器,但是缺點是運行的文件量大的話會卡頓。
sublime Text:是一款插件齊全,但是又沒有太多冗雜的東西,速度快,功能齊全,個人推薦使用。
PyCharm:主要針對於python開發的IDE,所以項目開發也推薦使用。