甜萝 发表于 2022-12-13 19:30

完成GUI界面并且夹带一个问题

本帖最后由 paypojie 于 2022-12-13 19:49 编辑

话不多说 先看本人实现的截图





本人写的代码
# 从Tkinter模块中导入所有内容
from tkinter import *
# 创建主窗口 并设置主窗口的图标 标题 窗口大小 以及窗口不可调整
Window = Tk()

Window.iconbitmap(r'D:\Pictures\favicon.ico')
Window.title('C语言中文网')
Window.geometry('500x200+300+200')
Window.resizable(0,0)

# 创建一个label控件 用于显示主窗口上顶部的文本
label1 = Label(Window,text='C语言中文网答疑辅导班',font=('微软雅黑',18,'bold'),fg='orange')
label1.pack()
# 在创建三个按钮之前先定义三个整型变量
checkVar1 = IntVar()
checkVar2 = IntVar()
checkVar3 = IntVar()

# 创建三个多选框按钮
checkRadio1 = Checkbutton(Window,text='Python',font=('微软雅黑',16,'bold'),variable=checkVar1,onvalue=1,offvalue=0)
checkRadio2 = Checkbutton(Window,text='C语言',font=('微软雅黑',16,'bold'),variable=checkVar2,onvalue=1,offvalue=0)
checkRadio3 = Checkbutton(Window,text='Java',font=('微软雅黑',16,'bold'),variable=checkVar3,onvalue=1,offvalue=0)

# 将创建好的按钮放置在主窗口
checkRadio1.pack(side=LEFT)
checkRadio2.pack(side=LEFT)
checkRadio3.pack(side=LEFT)

# 创建与按钮相关联的函数
def func():
    # 判断用户选没选中按钮
    if checkVar1.get() == 0 and checkVar2.get() == 0 and checkVar3.get() == 0:
      label2.config(text='您还没选择任何语言')
    else:
      var1 = 'Python' if checkVar1.get() == 1 else ''
      var2 = 'C语言' if checkVar2.get() == 1 else ''
      var3 = 'Java' if checkVar3.get() == 1 else ''
      label2.config(text='您选择了 %s %s %s' % (var1,var2,var3))

# 创建一个选好了按钮
checkRadio4 = Button(Window,text='选好了',command=func)
checkRadio4.pack(side=LEFT)

# 创建右下角的Label控件
label2 = Label(Window,width=100,height=2,background='green')
label2.pack(side=BOTTOM)

# 显示主窗口
Window.mainloop()
GUI界面灵感来自 http://c.biancheng.net/uploads/allimg/220105/111150A26-3.gif

有一个疑问 这种 变量名 = 值 if 条件 else 值 的写法 本人第一次见 感觉有点奇怪 各位怎么看这种写法

这段代码意思是 如果变量checkVar1获取的值与1相等 那么就赋值 var1 = 'Python' 否则 var1的值为空字符串
var1 = 'Python' if checkVar1.get() == 1 else ''这是AI给出的解释




逆向学习 发表于 2022-12-13 20:16

这个写法有点像三目运算符

甜萝 发表于 2022-12-13 20:18

逆向学习 发表于 2022-12-13 20:16
这个写法有点像三目运算符

三目运算符以前写过 现在忘记了

masa1chi 发表于 2022-12-13 20:53

萌新请教一下,这个界面是用哪个包搞的呀。

甜萝 发表于 2022-12-13 20:55

masa1chi 发表于 2022-12-13 20:53
萌新请教一下,这个界面是用哪个包搞的呀。

Tkinter模块

梦汐 发表于 2022-12-13 21:16

这是python版的三元运算符

甜萝 发表于 2022-12-13 21:19

梦汐 发表于 2022-12-13 21:16
这是python版的三元运算符

头像卡哇伊

逆向学习 发表于 2022-12-13 21:43

paypojie 发表于 2022-12-13 20:18
三目运算符以前写过 现在忘记了

哈哈哈,正好复习一下{:301_998:}

知心 发表于 2022-12-13 21:55

python自有语法,类似于其他语言的三元运算符。

霸气侧漏m2 发表于 2022-12-13 22:46

这个AI网址是什么?{:301_998:}
页: [1] 2
查看完整版本: 完成GUI界面并且夹带一个问题