zheng8542 发表于 2023-12-7 09:59

请教一个简单PYTHON问题

本帖最后由 zheng8542 于 2023-12-7 10:14 编辑

小白一个,自学python,就是想选择下拉框里的网站以后,点击确定直接访问那个网站。def这块确实不太明白求助一下大家return self.go(*args)这个肯定是错误的,应该是return返回什么值?butt需要返回什么值吗?
实在是看不懂了,感谢大家帮忙一下。

import webbrowser

import tkinter

from tkinter import *

fromtkinterimport ttk

import tkinter as tk

def butt(args):

button=Button(win, text="确定",command=go)

button.pack()

def go(args):   #处理事件,*args表示可变参数

   url=comboxlist.get()

   web=webbrowser.open(url, new=0, autoraise=True)   
   
   return self.go(*args)

win=tkinter.Tk() #构造窗体

win.geometry("400x300")

comvalue=tkinter.StringVar()#窗体自带的文本,新建一个值

comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化

comboxlist["values"]=('https://www.52pojie.cn','http://www.baidu.com', 'http://www.sina.com' )

comboxlist.current(0)#选择第一个

comboxlist.bind("<<ComboboxSelected>>",butt)#绑定事件,(下拉列表框被选中时,绑定go()函数)

comboxlist.pack()

comboxlist.bind("<<ComboboxSelected>>")

button1=Button(win, text="退出",command=win.destroy)

button1.pack()

win.mainloop()

kings0b 发表于 2023-12-7 10:17

import webbrowser
import tkinter as tk
from tkinter import ttk

def go():# 修正了函数定义
    url = comboxlist.get()
    webbrowser.open(url, new=0, autoraise=True)

win = tk.Tk()
win.geometry("400x300")

comvalue = tk.StringVar()
comboxlist = ttk.Combobox(win, textvariable=comvalue)
comboxlist["values"] = ('https://www.52pojie.cn', 'http://www.baidu.com', 'http://www.sina.com')
comboxlist.current(0)
comboxlist.pack()

button = tk.Button(win, text="确定", command=go)# 修改了按钮的创建方式
button.pack()

button1 = tk.Button(win, text="退出", command=win.destroy)
button1.pack()

win.mainloop()

zheng8542 发表于 2023-12-7 10:20

kings0b 发表于 2023-12-7 10:17
import webbrowser
import tkinter as tk
from tkinter import ttk


非常感谢,简单明了

sai609 发表于 2023-12-7 10:28

def是自定义函数
页: [1]
查看完整版本: 请教一个简单PYTHON问题