Python3 tkinter基礎 LabelFrame Radiobutton 形成兩組不相互限制的單選按鈕


  •        Python : 3.7.0
  •          OS : Ubuntu 18.04.1 LTS
  •         IDE : PyCharm 2018.2.4
  •       Conda : 4.5.11
  •    typesetting : Markdown

左右布局

code

"""
@Author : 行初心
@Date   : 18-10-1
@Blog   : www.cnblogs.com/xingchuxin
@Gitee  : gitee.com/zhichengjiu
"""
from tkinter import *


def main():
    root = Tk()

    group1 = LabelFrame(root, text='服器部', padx=5, pady=5)
    group1.pack(side=RIGHT, padx=10, pady=10)

    v = IntVar()
    v.set(3)

    rb1_group1 = Radiobutton(group, text='錦', variable=v, value=1, indicatoron=False)
    rb1_group1.pack(fill=X)

    rb2_group1 = Radiobutton(group, text='絹', variable=v, value=2, indicatoron=False)
    rb2_group1.pack(fill=X)

    rb3_group1 = Radiobutton(group, text='帛', variable=v, value=3, indicatoron=False)
    rb3_group1.pack(fill=X)

    group2 = LabelFrame(root, text='果部', padx=5, pady=5)
    group2.pack(side=LEFT, padx=10, pady=10)

    v2 = IntVar()
    v2.set(2)

    rb1_group2 = Radiobutton(group2, text='李', variable=v2, value=1, indicatoron=False)
    rb1_group2.pack(fill=X)

    rb2_group2 = Radiobutton(group2, text='杏', variable=v2, value=2, indicatoron=False)
    rb2_group2.pack(fill=X)

    rb3_group2 = Radiobutton(group2, text='梅', variable=v2, value=3, indicatoron=False)
    rb3_group2.pack(fill=X)

    mainloop()


if __name__ == '__main__':
    main()

result

上下布局

code

"""
@Author : 行初心
@Date   : 18-10-1
@Blog   : www.cnblogs.com/xingchuxin
@Gitee  : gitee.com/zhichengjiu
"""
from tkinter import *


def main():
    root = Tk()

    group1 = LabelFrame(root, text='菜部', padx=5, pady=5)
    group1.pack(padx=10, pady=10)

    v = IntVar()
    # v與value的關系
    v.set(3)

    rb1_group1 = Radiobutton(group, text='冬瓜', variable=v,
                      value=1, indicatoron=False)
    rb1_group1.pack(fill=X)

    rb2_group1 = Radiobutton(group, text='南瓜', variable=v,
                      value=2, indicatoron=False)
    rb2_group1.pack(fill=X)

    rb3_group1 = Radiobutton(group, text='越瓜', variable=v,
                      value=3, indicatoron=False)
    rb3_group1.pack(fill=X)

    group2 = LabelFrame(root, text='谷部', padx=5, pady=5)
    group2.pack(padx=10, pady=10)

    v2 = IntVar()
    v2.set(2)

    rb1_group2 = Radiobutton(group2, text='黃大豆', variable=v2,
                      value=1, indicatoron=False)
    rb1_group2.pack(fill=X)

    rb2_group2 = Radiobutton(group2, text='赤小豆', variable=v2,
                      value=2, indicatoron=False)
    rb2_group2.pack(fill=X)

    rb3_group2 = Radiobutton(group2, text='刀豆', variable=v2,
                      value=3, indicatoron=False)
    rb3_group2.pack(fill=X)


    mainloop()


if __name__ == '__main__':
    main()

result

reference

  • [文檔] docs.python.org/3/library/tkinter.html

resource

  • [文檔] docs.python.org/3
  • [規范] www.python.org/dev/peps/pep-0008
  • [規范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
  • [源碼] www.python.org/downloads/source
  • [ PEP ] www.python.org/dev/peps
  • [平台] www.cnblogs.com
  • [平台] gitee.com


Python具有開源、跨平台、解釋型和交互式等特性,值得學習。
Python的設計哲學:優雅,明確,簡單。提倡用一種方法,最好是只有一種方法來做一件事。
GUI可以選擇PyQt5、PySide2、wxPython、PyGObject、wxWidgets等進行創作。
代碼的書寫要遵守規范,這樣有助於溝通和理解。
每種語言都有獨特的思想,初學者需要轉變思維、踏實踐行、堅持積累。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM