1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Python如何使用TkinterPlace布局管理器

      Python 如何使用Tkinter Place布局管理器?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

      創(chuàng)新互聯(lián)-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、成都電信服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),聯(lián)系電話:18980820575

      Place 布局就是其他 GUI 編程中的“絕對布局”,這種布局方式要求程序顯式指定每個(gè)組件的絕對位置或相對于其他組件的位置。

      如果要使用 Place 布局,調(diào)用相應(yīng)組件的 place() 方法即可。在使用該方法時(shí)同樣支持一些詳細(xì)的選項(xiàng),關(guān)于這些選項(xiàng)的介紹如下:

      x:指定組件的 X 坐標(biāo)。x 為 0 代表位于最左邊。

      y:指定組件的 Y 坐標(biāo)。y 為 0 代表位于最右邊。

      relx:指定組件的 X 坐標(biāo),以父容器總寬度為單位 1,該值應(yīng)該在 0.0~1.0 之間,其中 0.0 代表位于窗口最左邊,1.0 代表位于窗口最右邊,0.5 代表位于窗口中間。

      rely:指定組件的 Y 坐標(biāo),以父容器總高度為單位 1,該值應(yīng)該在 0.0~1.0  之間,其中 0.0 代表位于窗口最上邊,1.0 代表位于窗口最下邊,0.5 代表位于窗口中間。

      width:指定組件的寬度,以 pixel 為單位。

      height:指定組件的高度,以 pixel 為單位。

      relwidth:指定組件的寬度,以父容器總寬度為單位 1,該值應(yīng)該在 0.0~1.0 之間,其中 1.0 代表整個(gè)窗口寬度,0.5 代表窗口的一半寬度。

      relheight:指定組件的高度,以父容器總高度為單位 1,該值應(yīng)該在 0.0~1.0 之間,其中 1.0 代表整個(gè)窗口高度,0.5 代表窗口的一半高度。

      bordermode:該屬性支持“inside”或“outside” 屬性值,用于指定當(dāng)設(shè)置組件的寬度、高度時(shí)是否計(jì)算該組件的邊框?qū)挾取?/p>

      當(dāng)使用 Place 布局管理容器中的組件時(shí),需要設(shè)置組件的 x、y 或 relx、rely 選項(xiàng),Tkinter 容器內(nèi)的坐標(biāo)系統(tǒng)的原點(diǎn) (0,0) 在左上角,其中 X 軸向右延伸,Y 軸向下延伸,如圖所示

      Python 如何使用Tkinter Place布局管理器

      如果通過 x、y 指定坐標(biāo),單位就是 pixel(像素);如果通過 relx、rely 指定坐標(biāo),則以整個(gè)父容器的寬度、高度為 1。不管通過哪種方式指定坐標(biāo),通過圖 1 不難發(fā)現(xiàn),通過 x 指定的坐標(biāo)值越大,該組件就越靠右;通過 y 指定的坐標(biāo)值越大,該組件就越靠下。

      下面介紹一個(gè)使用 Place 進(jìn)行布局的例子,該示例將會(huì)動(dòng)態(tài)計(jì)算各 Label 的大小和位置,并通過 place() 方法設(shè)置各 Label 的大小和位置。

      # Python 2.x使用這行
      #from Tkinter import *
      # Python 3.x使用這行
      from tkinter import *
      import random
      class App:
          def __init__(self, master):
              self.master = master
              self.initWidgets()
          def initWidgets(self):
              # 定義字符串元組
              books = ('瘋狂Python講義', '瘋狂Swift講義', '瘋狂Kotlin講義',\
                  '瘋狂Java講義', '瘋狂Ruby講義')
              for i in range(len(books)):
                  # 生成3個(gè)隨機(jī)數(shù)
                  ct = [random.randrange(256) for x in range(3)]
                  grayness = int(round(0.299*ct[0] + 0.587*ct[1] + 0.114*ct[2]))
                  # 將元組中3個(gè)隨機(jī)數(shù)格式化成16進(jìn)制數(shù),轉(zhuǎn)成顏色格式
                  bg_color = "#%02x%02x%02x" % tuple(ct)
                  # 創(chuàng)建Label,設(shè)置背景色和前景色
                  lb = Label(root,
                      text=books[i],
                      fg = 'White' if grayness < 120 else 'Black',
                      bg = bg_color)
                  # 使用place()設(shè)置該Label的大小和位置
                  lb.place(x = 20, y = 36 + i*36, width=180, height=30)
      root = Tk()
      root.title("Place布局")
      # 設(shè)置窗口的大小和位置
      # width x height + x_offset + y_offset
      root.geometry("250x250+30+30")  
      App(root)
      root.mainloop()

      上面程序中第 26 行代碼就是調(diào)用 place() 方法執(zhí)行 Place 布局的關(guān)鍵代碼。在調(diào)用 place() 方法時(shí)主要設(shè)置了 x(X 坐標(biāo))、y(Y 坐標(biāo))、width(寬度)、height(高度)這四個(gè)選項(xiàng),通過這四個(gè)邊項(xiàng)即可控制各 Label 的位置和大小。

      為了增加一些趣味性,上面程序使用隨機(jī)數(shù)計(jì)算了 Label 組件的背景色,并根據(jù)背景色的灰度值來計(jì)算 Label 組件的前景色:如果 grayness 小于 125,則說明背景色較深,前景色使用白色;否則說明背景色較淺,前景色使用黑色。運(yùn)行上面程序,可以看到如圖所示的界面。

      Python 如何使用Tkinter Place布局管理器

      看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


      本文名稱:Python如何使用TkinterPlace布局管理器
      網(wǎng)站網(wǎng)址:http://www.ef60e0e.cn/article/jigpgs.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        句容市| 林甸县| 澜沧| 宁夏| 东宁县| 吉水县| 米脂县| 霸州市| 平舆县| 土默特左旗| 类乌齐县| 广元市| 绥德县| 内乡县| 纳雍县| 通山县| 平南县| 郯城县| 大关县| 嘉荫县| 南丰县| 汉源县| 田阳县| 伊金霍洛旗| 汝州市| 尼木县| 独山县| 珲春市| 荥经县| 宣武区| 云梦县| 黄大仙区| 花莲县| 桃源县| 大足县| 泸州市| 茂名市| 邵阳市| 徐闻县| 米易县| 开阳县|