Ⅰ python中configure與config的區別
我用tkinter來舉個例子。
在處理label標簽的文本修改時候經常用到
label.config(text='XXX')。在eclipse中計入config方法。會發現有這么一句話「config = configure」。說明config和configure其實都是同一個方法。
label是一個對象。而"對象[XX]"的形式 會自動調用__getitem__方法。"對象[XX]=XX"的形式會自動去調用__setitem__方法。 而setitem方法如下:其實也是調用configure方法。
def __setitem__(self, key, value):
self.configure({key: value})
Ⅱ pyqt4支持python2.7嗎
支持的
首先安裝python-2.7.6.amd64.msi,具體的配置步驟這里就不細說了,網路一下就解決了。
緊接著就是安裝pycharm-professional-4.0.4.exe,這是一個python編輯器,比官方的編輯器好用得多,可以自動代碼補全,還能調試運行,功能非常豐富!
再跟著就是安裝PyQt4-4.11.2-gpl-Py2.7-Qt4.8.6-x64.exe,其實pyqt與C++的qt差不多的,用法都非常相似!
接著安裝cx_Freeze-4.3.3.win-amd64-py2.7.msi,這個是用來打包Python程序為exe運行文件來用的,當然你也可以用其他的打包工具,但是我極力推薦這個。
最後要安裝chardet-1.0.1-py2.5.egg.rar,這個是跟Python對文件的編碼檢測的一個開發包,網路一下就有地方下載了,python對文本處理非常強大,有它非常方便!
磨刀不誤砍柴工,正式開工:
用pyqt4的界面設計工具–qt設計師,進行界面開發如下圖:
pyqt4的界面設計工具非常簡單易用,只要你用別的軟體進行過控制項開發,那麼這個自然就會了!
如果還不明白就可以看「PyQt4 精彩實例分析(語法高亮帶書簽).pdf」,裡麵包含了很多示例。
界面設計完成後,保存得到以ui為後綴的文件,我的為「mainText.ui」,「configText.ui」兩個文件,有了界面文件就要轉換成Python能調用的包,具體轉換的方法看「PyQt4
精彩實例分析(語法高亮帶書簽).pdf」中的示例。我的是分別轉換成兩個文件「ConfigText.py」,「SuperProcessText.py」。
至此開始正式編碼的工作,主窗口運行文件是superTextProcessTool.py,配置窗口的運行文件是ConfigTextTool.py。
對於文件編碼轉換,控制項之間如何調用,如何處理消息,都有了完整的示例,界面是仿照網上的一個軟體做出來的-「超級文本處理工具」做出來的。如果碰到不懂的函數,那麼可以查看「PyQt4.chm」,它包含了Pytqt4所有的函數說明!
Ⅲ python label.config這個配置用法問題
找不到資料,通常是看源代碼的。 好在python的源代碼有時候比幫助,或者是在網上找的東西更好用。 另外有一個國外寫的書。 tkinter編程,有機會可以下載一本看看,基本上你要的問題都有答案。
下面簡單說一下看源代碼的事情。
在python2.7的lib/lib-tk目錄下有一個ttk.py文件,打開可以看到classLable(Widget)
發現,它初始時調用了一個通用的Widget類,(強大)
classWidget(Tkinter.Widget):
調用了
Tkinter.Widget.__init__
Tkinter里
classWidget(BaseWidget,Pack,Place,Grid):
其中BaseWidget的setup顯示,你可以輸入任何參數,
參數需要是classtype,和DictionaryType,它是動態添加的。所以不保證其一定生效
但是如果它不在conf里,就刪除
這些參數應該用於,widget本身屬性,以及Pack,Place,Grid等類使用
classMisc:
這裡面有所有的參數。太長了。如果你有耐心,可以仔細去看看。
如果有興趣,可以繼續追一下tcl/tcl8.5里的代碼。其中似乎也有所有的configure
順便幫你查找了《python與tkiner編程》這本書。在361和362頁有所有你要的基本參數。太多了,這里就不列表了。
375頁有label特有的選項。包括bgstipple, fgstipple, lmargin1, lmargin2, offset, overstrike, margin, tabs, underline等
標准選項有:backgroud, borderwidth, font, foregroud, justify, relief
你在問題里列的width, height等 應該是屬於Pack, Place, Grid用的。
395頁有大部分控制項共享選項的詳細說明。
53頁有label的簡單使用說明
有這本書,基本上就不用自己看源代碼了。作者是1993年就開始使用python的老手。
另外你還可以使用HELP這個方法 。
>>>fromTkinterimport*
>>>root=Tk()
>>>label=Label(root,text='xiaodeng')
>>>help(label.config)
:
configure(self,cnf=None,**kw)methodofTkinter.Labelinstance
Configureresourcesofawidget.
arguments.Togetanoverviewabout
.
根據help的提 示, 你需要檢查 它的keys
>>>printlabel.keys()
['activebackground','activeforeground','anchor','background','bd','bg','bi
tmap','borderwidth','compound','cursor','disabledforeground','fg','font',
'foreground','height','highlightbackground','highlightcolor','highlightthick
ness','image','justify','padx','pady','relief','state','takefocus','text
','textvariable','underline','width','wraplength']
OK, 上面應該就是你要的答案了。 以後都可以用這個方法來找參數了。
Ⅳ python圖形界面里添加不了讀者選項
圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶介面)是指採用圖形方式顯示的計算機操作用戶界面。圖形用戶界面是一種人與計算機通信的界面顯示格式,允許用戶使用滑鼠等輸入設備操縱屏幕上的圖標或菜單選項,以選擇命令、調用文件、啟動程序或執行其它一些日常任務。與通過鍵盤輸入文本或字元命令來完成例行任務的字元界面相比,圖形用戶界面有許多優點。圖形用戶界面由窗口、下拉菜單、對話框及其相應的控制機制構成,在各種新式應用程序中都是標准化的,即相同的操作總是以同樣的方式來完成,在圖形用戶界面,用戶看到和操作的都是圖形對象,應用的是計算機圖形學的技術。
在設計GUI程序的過程中,需要對用戶界面進行渲染,達到色彩與便捷智能化一體。而在Python內置庫裡面,有一個自帶的就是tkinter庫,我們直接導入 使用即可。
簡單操作
import tkinter
top=tkinter.Tk()#生成一個主窗口
# 這裡面可以作為消息循環,添加窗口功能
label=tkinter.Label(top,text="圖形界面程序!")
label.pack()#將標簽label添加到窗口中
button1=tkinter.Button(top,text="按鈕1")
button1.pack(side=tkinter.LEFT)#將按鈕1添加到窗口裡
button2=tkinter.Button(top,text="按鈕2")
button2.pack(side=tkinter.RIGHT)#將按鈕2添加到窗口裡
top.mainloop()#進入消息循環
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
tkinter組件介紹
import tkinter
import tkMessageBox
top = tkinter.Tk()
def helloCallBack():
tkMessageBox.showinfo("Hello Python", "Hello Runoob")
B = tkinter.Button(top, text="點我", command=helloCallBack)
B.pack()
top.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
最完整的tkinter組件
向窗體中添加按鈕控制項
import tkinter
root=tkinter.Tk()#生成一個主窗口對象
button1=tkinter.Button(root,anchor=tkinter.E,#設置文本對齊方式
text="按鈕1",width=30,#設置按鈕寬度
height=7)
button1.pack()#將按鈕添加到主窗口
button2=tkinter.Button(root,text="按鈕2",bg="red")#設置背景按鈕色
button2.pack()
button3=tkinter.Button(root,text="按鈕3",width=12,height=1)
button3.pack()
button4=tkinter.Button(root,text="按鈕4",width=40,height=7,
state=tkinter.DISABLED)#設置按鈕為禁用
button4.pack()
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
使用文本框控制項
在tkinter庫中可以實現信息接收和用戶的信息輸入工作,在Python程序中,使用tkinter.Entry和tkinter.text可以創建單行文本和多行文本框組件,通過傳遞一些屬性來解決顏色問題。
import tkinter
root=tkinter.Tk()
entry1=tkinter.Entry(root,
show="*"#設置顯示文本是星號
)
entry1.pack()
entry2=tkinter.Entry(root,show="$",width=50)
entry2.pack()
entry3=tkinter.Entry(root,bg="red",fg="blue")#設置文本框的前景色
entry3.pack()
entry4=tkinter.Entry(root,state=tkinter.DISABLED)
entry4.pack()
entry5=tkinter.Entry(root,selectbackground="red",selectforeground="gray")#分別設置文本背景色和文本前景色
entry5.pack()
edit1=tkinter.Text(root,selectbackground="red",selectforeground="gray")
edit1.pack()
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
使用菜單控制項
在使用菜單控制項的時候,和我們使用其他控制項有所不同,我們需要使用創建主窗口的方法config()將菜單添加到窗口中。
import tkinter
root=tkinter.Tk()
menu=tkinter.Menu(root)
# 添加主菜單選項
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="打開")
submenu.add_command(label="保存")
submenu.add_command(label="關閉")
menu.add_cascade(label="文件",menu=submenu)#設置標頭簽名稱
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="復制")
submenu.add_command(label="粘貼")
submenu.add_separator()
submenu.add_command(label="剪切")
menu.add_cascade(label="編輯",menu=submenu)
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="黑客模式")
submenu.add_command(label="植入病毒")
submenu.add_command(label="獲取密碼")
menu.add_cascade(label="幫助",menu=submenu)
root.config(menu=menu)#將菜單添加到主窗口
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
自己可定義不同的選項,之後我們在選項裡面嵌入不同的功能,這樣就達到了一個簡單圖形界面軟體的開發。
使用標簽控制項
import tkinter
root=tkinter.Tk()
label1=tkinter.Label(root,
# anchor=tkinter.E,#設置標簽文本位置
bg="yellow",#設置標簽的背景色
fg="blue",#設置標簽的前景色
text="我是王小王\n!",#設置標簽顯示的文本
justify=tkinter.CENTER,
width=40,#設置標簽寬度
height=5#設置標簽高度
)
label1.pack()#將標簽1添加到主窗口
label2=tkinter.Label(root,
text="你好\nPython!",#設置標簽顯示的文本
justify=tkinter.LEFT,
width=40,#設置標簽寬度
height=5#設置標簽高度
)
label2.pack()
label3=tkinter.Label(root,
text="你好\nPython!",#設置標簽顯示的文本
justify=tkinter.RIGHT,
width=40,#設置標簽寬度
height=5#設置標簽高度
)
label3.pack()
label4=tkinter.Label(root,
text="你好\nPython!",#設置標簽顯示的文本
justify=tkinter.CENTER,
width=40,#設置標簽寬度
height=5#設置標簽高度
)
label4.pack()
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
使用單選按鈕和復選按鈕組件
import tkinter
root=tkinter.Tk()
r=tkinter.StringVar()#生成字元串變數
r.set("1")
radio=tkinter.Radiobutton(root,
variable=r,
value="1",#設置單選按鈕時的變數值
text="單選按鈕1",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="2",#設置單選按鈕時的變數值
text="單選按鈕2",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="3",#設置單選按鈕時的變數值
text="單選按鈕3",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="4",#設置單選按鈕時的變數值
text="單選按鈕4",
)
radio.pack()
c=tkinter.IntVar()#生成整型變數
c.set(1)
check=tkinter.Checkbutton(root,text="復選按鈕",
variable=c,#復選按鈕關聯的變數
onvalue=1,#設置復選按鈕時的變數值1
offvalue=2)#設置復選按鈕時的變數值2
check.pack()
root.mainloop()
print(r.get())
print(c.get())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
使用繪圖組件
import tkinter
root=tkinter.Tk()
canvas=tkinter.Canvas(root,
width=600,
height=480,
bg="white")#設置繪圖控制項的背景色
''''
...............
'''
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
至於圖形界面的開發我們這里只是了解到了一個概念,比如如何自己設計,這樣渲染窗口,還有就是怎樣去把功能添加到圖形界面中,比如我們打開一個記事本,裡面有保存等功能我們可以輸入一系列的東西進行操作
Ⅳ python中怎麼讀取文件內容
用open命令打開你要讀取的文件,返回一個文件對象
然後在這個對象上執行read,readlines,readline等命令讀取文件
或使用for循環自動按行讀取文件
Ⅵ 如何在Python中執行DOS命令
關於python調用cmd命令,主要介紹兩種方式:
一、Python的OS模塊
OS模塊調用CMD命令有兩種方式:os.system(),os.popen()。 都是用當前進程來調用。
1、os.system()
a、簡單粗暴的執行cmd指令
b、返回結果為0表示執行成功,無法獲取命令輸出的內容,本在cmd輸出的內容會直接在控制台輸出。
c、當命令運行結束後接著往下面執行程序(同步阻塞式)。用法如:os.system("ipconfig")。
2、os.popen()
a、能獲取DOS命令輸出的內容。
b、os.popen()返回的是一個file對象,那麼可以跟打開文件一樣操作,r是以讀的方式打開。
c、當命令運行結束後接著往下面執行程序(同步阻塞式)。
注意:os.popen() 方法用於從一個命令打開一個讀寫管道,在Unix,Windows中有效。
用法如:
with os.popen(r"adb devices","r")as f:
text = f.read()
print(text)# cmd輸出結果
二、管道subprocess模塊
a、在當前進程下產生子進程。
b、用wait()函數等待結果(非同步非阻塞式)。
【方法1】
result = subprocess.check_output(r'adb devices') ## 命令執行的輸出結果放到了result里
print(result)
【方法2】
process = subprocess.Popen(r'adb devices',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
command_output = process.stdout.read().decode('gbk')
print(command_output)
Notices:
有些命令行是非同步執行的不會馬上返回輸出,所以有時候我們要先等這個命令行執行完畢才能從stdout讀出來數據。這個時候要加上
process.wait()
我的GitHub
Ⅶ python tkinter 的Text控制項為什麼tag_add和tag_config用不了
報錯提示給你說的很明顯了......
可能是「text1」在你代碼中間被替換了,
變成了None,
檢查代碼吧。。。
Ⅷ python怎麼讓text控制項不能輸入,但是能看到游標
你是想輸入文本嗎,輸入文本游標就在行尾啊?至於清除你可以用設置textvariable變數為空就清除了