c語言tkinter庫,tkinter庫函數

本文目錄一覽:

如何讓tkinter自動關閉窗口後顯示另一個窗口?

我是Python新手,必須編寫一個簡單的GUI程序,為了簡單起見,我選擇在tkinter中這樣做。

我想要的GUI應該非常類似於在Windows上安裝程序時經常遇到的對話框(您想要安裝的位置,您想要的模塊等)。基本上當它在python3.3中運行時,我想要一個窗口出現,其中一些選項佔據了大部分窗口,然後是','返回'和'取消'底部的按鈕;點擊「下一步」'按鈕,當前窗口關閉,打開一個看起來相同的新窗口,除了它有不同的選項(或者它可能是同一個窗口,但它的內容已被破壞,我不確定哪個更好) 。我想要的粗略布局顯示在this image

yU8wW.png中

我已經四處尋找代碼,這些代碼與此類似,但未找到任何代碼。我看過this answer,但它並不是我想要的。我使用this tutorial來了解我對tkinter的了解,但我無法在其中找到答案。

這是我對我想要做的簡化版本的極其糟糕的嘗試:當我運行代碼時,它會創建一個帶有兩個按鈕的窗口。 ' Quit'按鈕工作正常;但是,當我點擊「下一步」時按鈕關閉窗口並根據需要打開一個新窗口,但它也會打開另一個窗口。

from tkinter import *

from tkinter import ttk

def win1():

mainframe = ttk.Frame(root, padding = ‘3 3 12 12’)

mainframe.grid(column = 0, row = 0, sticky = (N, W, E, S))

mainframe.columnconfigure(0, weight = 1)

mainframe.rowconfigure(0, weight = 1)

ttk.Button(mainframe, text = ‘Next’, command = win2).grid(

column = 1, row = 1, sticky = W)

ttk.Button(mainframe, text = ‘Quit’, command = quit).grid(

column = 1, row = 2, sticky = W)

root.mainloop()

def quit():

root.destroy()

def win2():

quit()

new = Toplevel()

new.title(‘Window 2’)

new = ttk.Frame(root, padding = ‘3 3 12 12’)

new.grid(column = 0, row = 0, sticky = (N, W, E, S))

new.columnconfigure(0, weight = 1)

new.rowconfigure(0, weight = 1)

ttk.Button(mainframe, text = ‘Next’, command = win2).grid(

column = 1, row = 1, sticky = W)

root = Tk()

win1()

這會出現以下錯誤消息(我不明白):

Exception in Tkinter callback

Traceback (most recent call last):

File “/usr/lib/python3.3/tkinter/__init__.py”, line 1478, in __call__

return self.func(*args)

File “”, line 23, in win2

File “/usr/lib/python3.3/tkinter/ttk.py”, line 733, in __init__

Widget.__init__(self, master, “ttk::frame”, kw)

File “/usr/lib/python3.3/tkinter/ttk.py”, line 553, in __init__

tkinter.Widget.__init__(self, master, widgetname, kw=kw)

File “/usr/lib/python3.3/tkinter/__init__.py”, line 2078, in __init__

(widgetName, self._w) + extra + self._options(cnf))

_tkinter.TclError: this isn’t a Tk applicationNULL main window

除了它實際上沒有做我想要的事實之外,我覺得我正在以完全錯誤的方式(在一個函數中定義窗口等),並且會遇到很多我想讓它變得更複雜時遇到麻煩。有沒有人能夠以更好的方式重寫我的代碼,並以某種方式幫助我構建更複雜的程序

python圖形化界面設計tkinter

python提供了多個圖形開發界面的庫,幾個常用Python GUI庫如下:

Tkinter: Tkinter模塊(“Tk 接口”)是Python的標準Tk GUI工具包的接口.Tk和Tkinter可以在大多數的Unix平台下使用,同樣可以應用在Windows和Macintosh系統里.,Tk8.0的後續版本可以實現本地窗口風格,並良好地運行在絕大多數平台中。

wxPython:wxPython 是一款開源軟件,是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程序員很方便的創建完整的、功能鍵全的 GUI 用戶界面。

Jython:Jython程序可以和Java無縫集成。除了一些標準模塊,Jython使用Java的模塊。Jython幾乎擁有標準的Python中不依賴於C語言的全部模塊。比如,Jython的用戶界面將使用Swing,AWT或者SWT。Jython可以被動態或靜態地編譯成Java位元組碼。

Tkinter 編程

Tkinter 是Python的標準GUI庫。Python使用Tkinter可以快速的創建GUI應用程序。

由於Tkinter是內置到python的安裝包中、只要安裝好Python之後就能import Tkinter庫、而且IDLE也是用Tkinter編寫而成、對於簡單的圖形界面Tkinter還是能應付自如。

創建一個GUI程序

1、導入Tkinter模塊

2、創建控件

3、指定這個控件的master, 即這個控件屬於哪一個

4、告訴GM(geometry manager)有一個控件產生了。

實例:

1 #!/usr/bin/python2 # -*- coding: UTF-8 -*-3 4 import Tkinter5 top = Tkinter.Tk()6 # 進入消息循環7 top.mainloop()

實例2:

1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3  4 from Tkinter import *           # 導入 Tkinter 庫 5 root = Tk()                     # 創建窗口對象的背景色 6                                 # 創建兩個列表 7 li     = [‘C’,’python’,’php’,’html’,’SQL’,’java’] 8 movie  = [‘CSS’,’jQuery’,’Bootstrap’] 9 listb  = Listbox(root)          #  創建兩個列表組件10 listb2 = Listbox(root)11 for item in li:                 # 第一個小部件插入數據12     listb.insert(0,item)13 14 for item in movie:              # 第二個小部件插入數據15     listb2.insert(0,item)16 17 listb.pack()                    # 將小部件放置到主窗口中18 listb2.pack()19 root.mainloop()                 # 進入消息循環

Tkinter 組件

Tkinter的提供各種控件,如按鈕,標籤和文本框,一個GUI應用程序中使用。這些控件通常被稱為控件或者部件。

目前有15種Tkinter的部件。我們提出這些部件以及一個簡短的介紹,在下面的表:

控件

描述

Button    按鈕控件;在程序中顯示按鈕。  

Canvas    畫布控件;顯示圖形元素如線條或文本  

Checkbutton    多選框控件;用於在程序中提供多項選擇框  

Entry    輸入控件;用於顯示簡單的文本內容  

Frame    框架控件;在屏幕上顯示一個矩形區域,多用來作為容器  

Label    標籤控件;可以顯示文本和位圖  

Listbox    列表框控件;在Listbox窗口小部件是用來顯示一個字符串列表給用戶  

Menubutton    菜單按鈕控件,由於顯示菜單項。  

Menu    菜單控件;顯示菜單欄,下拉菜單和彈出菜單  

Message    消息控件;用來顯示多行文本,與label比較類似  

Radiobutton    單選按鈕控件;顯示一個單選的按鈕狀態  

Scale    範圍控件;顯示一個數值刻度,為輸出限定範圍的數字區間  

Scrollbar    滾動條控件,當內容超過可視化區域時使用,如列表框。.  

Text    文本控件;用於顯示多行文本  

Toplevel    容器控件;用來提供一個單獨的對話框,和Frame比較類似  

Spinbox    輸入控件;與Entry類似,但是可以指定輸入範圍值  

PanedWindow    PanedWindow是一個窗口布局管理的插件,可以包含一個或者多個子控件。  

LabelFrame    labelframe 是一個簡單的容器控件。常用與複雜的窗口布局。  

tkMessageBox    用於顯示你應用程序的消息框。  

標準屬性

標準屬性也就是所有控件的共同屬性,如大小,字體和顏色等等。

屬性    描述  

Dimension    控件大小;  

Color    控件顏色;  

Font    控件字體;  

Anchor    錨點;  

Relief    控件樣式;  

Bitmap    位圖;  

Cursor    光標;  

幾何管理

Tkinter控件有特定的幾何狀態管理方法,管理整個控件區域組織,一下是Tkinter公開的幾何管理類:包、網格、位置

幾何方法    描述  

pack()    包裝;  

grid()    網格  

place()    位置  

C語言如何開發桌面GUI應用程序?

純C的很少,windows32

sdk和linux的gtk是為數不多的2個庫。

現代基本沒有用C開發gui的,C++是更好的選擇,像qt

mfc比win32好用得多。

開發效率更高的是python,tkinter

wxwidget

pyqt都很方便

python腳本開頭的from Tkinter import *是什麼意思?

這是Python導入庫文件的語法:

from Tkinter的意思就是導入Tkinter,它是一個庫,也可以簡單稱之為類;

import *的意思是導入庫中所有的類,函數,變量等等信息,這樣在調用相關函數或者變量的時候,就不用加Tkinter前綴了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/308479.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python Turtle + Tkinter開發用法介紹

    Python是一種高級編程語言,生態繁榮,功能強大。Turtle和Tkinter分別是Python自帶的畫圖和GUI程序開發模塊,它們為Python的應用開發提供了許多便利。這篇文…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論