Lấy giá trị đã trọn từ >1 cái ComboBox ra trong Tkinter python2.7?

# -*- coding: utf-8 -*-
from Tkinter import *
import ttk

class KhungChinh(Frame):
    def XemKetQua(self):
        print "giá trị đã chọn: ",    aaaaaaaa.get()

    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        self.GiaoDienHoiThongTin()

    def GiaoDienHoiThongTin(self):
        self.parent.title("Buttons")
        self.style = ttk.Style()
        self.style.theme_use("default")
        frame = ttk.Frame(self, relief=RAISED, borderwidth=-1100000)
        frame.pack(fill=BOTH, expand=True)
        self.pack(fill=BOTH, expand=True)

        okButton = Button(self, text="Xem Kết quả", bg='blue', command=self.XemKetQua)
        okButton.pack(side=RIGHT)

def main():
    root = Tk()

    panelCombo1 = Frame(root)
    l = Label(panelCombo1, text='Giới tính:')
    l.pack(side='left', padx=12, pady=8)
    panelCombo1.pack(side='top', fill='x', padx=12, pady=8)
    valCombo1 = ('Nam', 'Nữ')
    varCombo1 = StringVar()
    varCombo1.set('< Giới tính >')
    cboCombo1 = ttk.Combobox(panelCombo1, values=valCombo1, textvariable=varCombo1)
    cboCombo1.pack(side='right', anchor='w', padx=12, pady=8)

    panelCombo2 = Frame(root)
    l = Label(panelCombo2, text='Độ tuổi:')
    l.pack(side='left', padx=12, pady=8)
    panelCombo2.pack(side='top', fill='x', padx=12, pady=8)
    valCombo2 = ('Nhỏ hơn 18', 'Từ 18 đến 34', 'Từ 35 đến 44', 'Lớn hơn 44')
    varCombo2 = StringVar()
    varCombo2.set('< Độ tuổi >')
    cboCombo2 = ttk.Combobox(panelCombo2, values=valCombo2, textvariable=varCombo2)
    cboCombo2.pack(side='right', anchor='w', padx=12, pady=8)

    root.geometry("300x250+50+50")
    app = KhungChinh(root)
    root.mainloop()

if __name__ == '__main__':
    main()

Các bạn Pro cho mình hỏi ở hàm XemKetQua mình muốn thay aaaaaaaa bằng cái gì để có thể in ra được giá trị mình đã chọn trong 2 cái ComboBox vậy, vì nó có mấy cái hàm liền, mình thì chưa làm chủ được phần tham chiếu nên chưa giải quyết được vấn đề. nhờ mn. cảm ơn nhiều

1 Like

nếu không chia ra mấy phần thì e làm được rồi, chỉ là bài trên em lại có mấy cái hàm, chắc chắn là chỗ tham chiếu r mà e chưa mò ra phải làm thế nào

import Tkinter as tkinter
import ttk
root = tkinter.Tk()
def ok():
print 'La: ', varCombo.get()
panelCombo = ttk.Frame( root )
panelCombo.pack( side=‘top’, fill=‘x’, padx=12, pady=8 )
valCombo = ( ‘cat’, ‘dog’, ‘pig’ )
varCombo = tkinter.StringVar()
varCombo.set( ‘fish’ )
cboCombo = ttk.Combobox( panelCombo, values=valCombo, textvariable=varCombo )
cboCombo.pack( side=‘left’, anchor=‘w’, padx=12, pady=8 )
okButton = tkinter.Button(panelCombo, text=“ok”, bg =‘blue’, command =ok)
okButton.pack(side=‘right’)
root.attributes( ‘-topmost’, 1 )
root.mainloop()

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?