PythonGuides-博客中文翻译-十二-

PythonGuides 博客中文翻译(十二)

原文:PythonGuides Blog

协议:CC BY-NC-SA 4.0

Python 通过空格分割字符串

原文:https://pythonguides.com/python-split-string-by-space/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习如何在 Python 中按空格拆分字符串。通过 Python 的分割函数,我们将涵盖这些主题。

  • Python 将字符串按空格分割成列表
  • Python 按空格分割字符串并获取第一个元素
  • Python 通过空格和逗号分割字符串
  • Python 通过空格而不是引号来分割字符串
  • Python 通过空格和换行符分割字符串
  • Python 按空格分割字符串并获取最后一个元素
  • Python 不带空格的拆分字符串
  • Python 正则表达式按空格分割字符串

目录

Python 通过空格分割字符串

  • 在这一节中,我们将讨论如何在 Python 中用空格分割字符串。
  • 为了完成这个任务,我们将使用 Python 字符串 split() 方法。在 Python 中,这个函数用于从给定的分隔符中分离字符串,并且总是返回所有单词的列表。
  • 在这个方法中,默认情况下,分隔符是空白,这是 Python 中的一个内置函数。

语法:

让我们看一下语法并理解 Python split() 函数的工作原理

str.split
         (
          separator,
          maxsplit
         )
  • 它由几个参数组成
    • 分隔符:该参数表示分隔符,默认情况下任何空格都是分隔符。
    • maxsplit :可选参数,表示最大拆分次数。

举例:

new_string="John is a good boy"

result=new_string.split()
print(result)

在下面的代码中,我们使用了空格作为分隔符。为了完成这个任务,我们有一个输入字符串,通过使用 string.split() 方法,我们可以很容易地分离字符串。

下面是以下给定代码的实现

Python split string by whitespace

Python split string by whitespace

另外,查看: Python 下载和安装步骤

Python 将字符串按空格分割成列表

  • 在这个程序中,我们将讨论如何使用 list 构造函数按空格分割字符串。
  • 为了完成这项任务,我们将首先创建一个输入字符串,然后生成一个列表构造函数。在 Python 中,这个方法用于返回一个列表,在这个构造函数中,我们传递了输入字符串。

语法:

下面是 Python list() 构造函数的语法

list(iterable)

举例:

new_str = 'Micheal'

result = list(new_str)
print("split strings",result) 

下面是以下给定代码的执行过程

Python split string by space into list

Python split string by space into a list

阅读:如何在 Python 中把列表转换成字符串

Python 按空格分割字符串,得到第一个元素

  • 在本节中,我们将讨论如何按空格分割字符串,并获取 Python 中的第一个元素。
  • 为了完成这项任务,首先我们将创建一个包含由空格分隔的整数值的字符串。现在我们将使用 str.split() 函数分割字符串,同时我们将使用 [0] 索引。它将显示拆分字符串的第一个元素。

举例:

new_string="23 24 26"

result=new_string.split()[0]
print(result)

下面是以下代码的截图

Python split string by space and get first element

Python split string by space and get the first element

阅读: Python 在字符串中查找数字

Python 用空格和逗号分割字符串

  • 在这个程序中,我们将学习如何在 Python 中用空格和逗号分割字符串。
  • 在本例中,我们将在 split() 函数中使用逗号分隔符,按空格和逗号分割字符串。一旦你将打印‘new _ result’,那么输出将显示字符串的子串。

举例:

new_string = ' Germany, France, England '

new_result = new_string.split(',')
print(new_result)

你可以参考下面的截图

Python split string by space and comma

Python split string by space and comma

阅读:从字符串 Python 中删除字符

Python 通过空格而不是引号分割字符串

  • 在这一节中,我们将讨论如何在 Python 中通过空格而不是引号来分割字符串。
  • 为了执行这个特定的任务,我们将使用 shlex 模块,它用于拆分字符串并写入词法分析器。

举例:

import shlex

new_string=('China, England, "France Malaysia"')
new_output=shlex.split(new_string)
print(new_output)

下面是以下代码的截图

Python split string by space but not inside quotes

Python split string by space but not inside quotes

阅读: Python 3 string replace()方法

Python 通过空格和换行符分割字符串

  • 在这一节中,我们将讨论如何在 Python 中通过空格和换行符来拆分字符串。
  • 在本例中,我们刚刚创建了一个简单的字符串,它包含单引号中的‘国家名称’,但是在字符串内部,我们使用了双引号中的【法国马来西亚】,一旦您执行下面的代码,输出将显示【法国马来西亚】是一个单独的字符串。
  • 现在我们将调用一个变量‘new _ result’并分配 split() 函数。一旦您将打印‘new _ result’,那么输出将显示存储了子字符串的列表。

举例:

str_value = 'Japan\nRussia England' 

new_result = str_value.split('\n')

print("split strings:",new_result)

下面是以下给定代码的实现

Python split string by space and newline

Python split string by space and newline

阅读: Python 3 字符串方法

Python 按空格分割字符串,得到最后一个元素

  • 在这一节中,我们将讨论如何按空格分割字符串并获得 Python 中的最后一个元素。
  • 为了执行这个特定的任务,首先我们将创建一个包含由空格分隔的整数值的字符串。现在我们将使用 str.split() 函数分割字符串,同时我们将使用 [-1] 索引。它将显示拆分字符串的最后一个元素。

源代码:

new_str_values="56 83 178"

new_output=new_str_values.split()[-1]
print(new_output)

下面是以下给定代码的输出

Python split string by space and get last element

Python split string by space and get the last element

阅读: Python 在字符串中查找子串

Python 无空格分割字符串

  • 在这一节中,我们将讨论如何在 Python 中拆分不带空格的字符串。
  • 在这个例子中,我们不会在 split() 函数中使用空白分隔符。我们将使用' * "分隔符。一旦你将打印‘结果’,那么输出显示多个字符串。

举例:

new_string="John*is a good boy"

result=new_string.split('*')
print(result)

下面是以下给定代码的实现

Python split string without whitespace

Python split string without whitespace

阅读:在 Python 中切片字符串

Python 正则表达式按空格分割字符串

  • 在这个程序中,我们将讨论如何使用 Python 中的 regex 模块来拆分字符串。
  • 要完成这项任务,我们首先要导入 re 模块,然后初始化一个字符串。接下来,我们将声明一个变量‘new _ result’并调用. split()函数。在这个函数中,我们将分隔符 '+' 作为一个参数传递,该参数指示字符串将被分成子字符串。

举例:

import re 

string_value= "john micheal  George Chris"         
new_result= re.split(' +',string_value)
print(new_result)

下面是以下给定代码的实现

Python regex split string by space

Python regex split string by space

你可能也喜欢阅读下面的 Python 教程。

在这个 Python 教程中,我们已经学习了如何在 Python 中用空格分割字符串。此外,使用 Python 分割函数,我们已经涵盖了这些主题。

  • Python 将字符串按空格分割成列表
  • Python 按空格分割字符串并获取第一个元素
  • Python 通过空格和逗号分割字符串
  • Python 通过空格而不是引号来分割字符串
  • Python 通过空格和换行符分割字符串
  • Python 按空格分割字符串并获取最后一个元素
  • Python 不带空格的拆分字符串
  • Python 正则表达式按空格分割字符串

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

如何在 python 中使用正则表达式拆分字符串

原文:https://pythonguides.com/python-split-string-regex/

Python & Machine Learning training courses

在这个 python 教程中,我们将讨论如何在 python 中使用 regex 拆分字符串。我们还将在此讨论以下主题

  • 如何在 python 中用逗号分割字符串
  • 如何在 python 中按空格分割字符串
  • 如何在 python 中通过分隔符分割字符串
  • 如何在 python 中按字符分割字符串
  • 如何在 python 中使用 split 函数拆分字符串
  • 如何在 python 中拆分字符串的最后一个元素
  • 如何在 python 中拆分一个字符串的每个字符
  • 如何在 python 中使用多个分隔符分割字符串
  • 如何在 python 中按索引拆分字符串
  • Python 将一个字符串分成相等的两半
  • Python 将一个字符串拆分成数组
  • 将句子拆分成单词列表

如果您是 Python 新手,请查看 Python 下载和安装步骤Python Hello World 程序

目录

如何在 python 中使用正则表达式拆分字符串

在 python 中,我们可以使用正则表达式来分割字符串。让我们看看如何在 python 中使用 regex 来拆分字符串。

我们可以用 re.split() 来表示同样的意思。 re 是模块, split() 是该模块中的内置方法。

例如

import re
myvar = 'sky1cloud3blue333red'

print(re.split('\d+', myvar))

注意:确保导入 re 模块,否则将无法工作。

输出将为

['sky', 'cloud', 'blue', 'red']

请参见此处的输出

How to split a string using regex in python

split a string using regex in python

这是如何在 python 中使用 regex 分割字符串。

阅读:如何在 python 中创建一个字符串并将其赋给一个变量

如何在 python 中用逗号分割字符串

在 python 中,我们可以使用逗号作为分隔符来拆分字符串。

让我们看一个例子,看看它是如何工作的

示例:

mystring = "Hey, I love Python, Python is easy"

x = mystring.split(",")

print(x)

输出将是

['Hey', ' I love Python', ' Python is easy']

在这里查看输出

How to split a string using comma in python

split a string using comma in python

上面的代码我们可以用来在 python 中用逗号分割一个字符串。

阅读:追加到字符串 Python

如何在 python 中按空格分割字符串

在 python 中,你也可以通过使用空格作为分隔符来分割字符串。

默认情况下, split() 方法在分割字符串时使用空格作为分隔符。

例如:

mystring = "sky blue red cloud"

x = mystring.split()

print(x)

输出将是

['sky', 'blue', 'red', 'cloud']

示例:

将字符串拆分成一个列表

mystring = "sky blue red cloud"

x = mystring.split()

for temp in mystring:
    print(temp)

输出将是

s
k
y

b
l
u
e

r
e
d

c
l
o
u
d

在这里查看输出

how to split the string using space as a separator

split the string using space as a separator

这是如何在 python 中按空格拆分一个字符串。

查看 Python 字符串格式

如何在 python 中通过分隔符分割字符串

我们可以在 Python 中用分隔符分割字符串。

示例:

myvar = 'I love python'

# This splits at space
print(myvar.split())

nature = 'sky, cloud, blue'

# This splits at ','
print(nature.split(','))

nature = 'sky:cloud:blue'

# This splits at ':'
print(nature.split(':'))

输出将是

['I', 'love', 'python']
['sky', ' cloud', ' blue']
['sky', 'cloud', 'blue']

请参见下面的输出

How to split string using delimiter in Python

split string using delimiter in Python

这是如何在 python 中通过分隔符分割字符串。

阅读:用 Python 把 PDF 文件转换成 Docx

如何在 python 中按每个字符拆分一个字符串

这里讨论一下,如何用字符的数组或者字符列表拆分字符串。

1-如何 使用 for 循环 将一个字符串拆分成字符数组

我们可以使用循环的将一个字符串分割成字符数组。

示例:

def charactersplit(str):
  return [ch for ch in str]

mystr = 'I love python'

print(charactersplit(mystr))

输出将是

['I', ' ', 'l', 'o', 'v', 'e', ' ', 'p', 'y', 't', 'h', 'o', 'n']

在此查看输出

How to split string into array of characters using for loop

split a string by every character in python

这是如何在 python 中按每个字符分割一个字符串。

2- 如何通过对字符串列表 进行排版来将字符串拆分成字符数组

我们可以通过将字符串转换成列表来将字符串拆分成字符数组。

示例:

def charactersplit(str):
  return list(str)

mystr = 'I love python'

print(charactersplit(mystr))

输出将是

['I', ' ', 'l', 'o', 'v', 'e', ' ', 'p', 'y', 't', 'h', 'o', 'n']

在此查看输出

How to split string into array of characters by typecasting string to list

split string into array of characters by typecasting string to list in Python

这是如何通过将字符串类型转换为列表来将字符串拆分为字符数组。

如何用 python 中的 split 函数拆分字符串

我们可以通过 python 中的 split 函数来拆分一个字符串。

例如:

mystring = "sky cloud  blue red"

x = mystring.split()

print(x)

输出将是

['sky', 'cloud', 'blue', 'red']

在此查看输出

How to split a string by split function in python

split a string by split function in python

上面的代码我们可以用来通过 python 中的 split 函数拆分一个字符串。

如何用 python 中的最后一个元素拆分一个字符串

我们可以在 python 中拆分一个字符串的最后一个元素。让我们就此展开讨论

1- 如何 拆分一个字符串 最后一个元素 使用 rsplit()

我们可以使用 rsplit() 函数来拆分 python 中一个字符串的最后一个元素。

示例:

# initializing string
mystring = "sky, cloud,  blue, red"

# rsplit() to split the string
result = mystring.rsplit(', ', 1)

print(str(result))

输出将是

['sky, cloud,  blue', 'red']

在这里查看输出

split a string by the last element in python

split a string by the last element in python

2- 如何 拆分一个字符串 最后一个元素 使用 rpartition()

我们可以使用 rpartition () 函数在 python 中拆分一个字符串的最后一个元素。

示例:

# initializing string
mystring = "sky, cloud,  blue, red"

# rsplit() to split the string
result = mystring.rpartition(', ')

print(str(result))

注意:rpartition()将只接受一个参数,否则将显示异常“类型错误:rpartition()只接受一个参数(给定 2 个)”

输出将是

('sky, cloud,  blue', ', ', 'red')

在这里查看输出

How to split a string by the last element using partition() in python

Python split a string by the last element using rpartition()

这就是 python 中如何通过最后一个元素来拆分字符串。

如何在 python 中用多个分隔符分割一个字符串

我们可以使用 split()在 python 中一次用一个分隔符来拆分字符串。

如果要用多重分隔符来拆分字符串我们可以用 re.split()代替 split()。

例如

import re
myvar = 'sky,cloud;blue,   red'

print(re.split(r'[;,\s]\s*', myvar))

输出将是

['sky', 'cloud', 'blue', 'red']

在这里查看输出

How to split a string by multiple separators in python

split a string by multiple separators in python

上面的代码我们可以用 python 中的多个分隔符来拆分一个字符串。

如何在 python 中按索引拆分字符串

我们还可以在 python 中通过索引来分割字符串。

示例 1:

mystring = 'I love python It is easy to learn'
indices = [0,6,13]
x = [mystring[index:] for index in indices]
for mystring in x:
    print (mystring)

输出将是

I love python It is easy to learn
 python It is easy to learn
 It is easy to learn

How to split a string by indices in python

split a string by index in python

参见上面的输出

示例 2:

mystring = 'I love python It is easy to learn'
indices = [0,6,13]
x = [mystring[i:j] for i,j in zip(indices, indices[1:]+[None])]
for mystring in x:
    print (mystring)

输出将是

I love
 python
 It is easy to learn

在这里查看输出

How to split a string by index in python

split a string by index in python

上面的代码,我们可以用来在 python 中按索引拆分一个字符串。

Python 将一个字符串分成相等的两半

在 python 中,要将字符串分成两半,我们将使用字符串切片方法来将字符串分成两半。

举例:

my_string = "PythonGuides"
string_first = my_string[:len(my_string)//2]
string_second = my_string[len(my_string)//2:]
print("My first part of string : " + string_first)
print("My second part of string : " + string_second)

在编写完上面的代码(python 将一个字符串分成相等的两半)后,您将打印这些代码,然后输出将显示为“我的第一部分字符串:Python,我的第二部分字符串:Guides”。这里,我们将使用字符串切片方法将字符串分成相等的两半。

你可以参考下面的截图,python 把一个字符串分成相等的两半

Python split a string into equal half

这就是 python 如何将一个字符串分成相等的两半

Python 将一个字符串拆分成数组

要将一个字符串拆分成一个数组,我们将使用 "string.split()" ,它会将字符串拆分成一个数组。

举例:

string = "welcome to python happy learning"
arr = string.split()
print(arr)

写完上面的代码(python 将一个字符串拆分成数组),你将打印出 " arr " ,然后输出将显示为 " ['欢迎',' to ',' python ',' happy ',' learning']"。在这里, string.split() 方法将把字符串拆分成一个数组。

你可以参考下面的截图 python 把一个字符串拆分成数组

Python split a string into array

Python split a string into array

上面的代码我们可以用来在 Python 中把一个字符串分割成数组。

将句子拆分成单词列表 python

我们可以使用 split() 方法来拆分给定的列表,然后我们将使用 join() 方法进行连接。

举例:

def sentence(list):
    return ' '.join(list).split()
list = ['Welcome to Python Guides']
print(sentence(list))

写完上面的代码(将句子拆分成单词列表 python),你将打印出“句子(列表)”,然后输出将显示为“['欢迎','到',' Python ','指南']”。这里, split() 方法将把句子拆分成一个单词列表。

你可以参考下面的截图把句子拆分成一个单词列表 python

Split sentence into list of words python

Split sentence into list of words python

上面的代码,我们可以使用 python 中如何将句子拆分成单词列表。

您可能会喜欢以下 Python 教程:

结论

Python 是最流行的开源面向对象编程语言,易于学习,语法也非常简单。

我们可以用 re.split() 来表示同样的意思。 re 是模块, split() 是该模块中的内置方法。在 python 中,我们可以使用逗号、空格和其他分隔符作为分隔符来拆分字符串。我们还可以使用 rsplit()rpartition () 函数来拆分 python 中字符串的最后一个元素

本 python 教程解释了以下几点:

  • 如何在 python 中使用正则表达式拆分字符串
  • 如何在 python 中用逗号分割字符串
  • 如何在 python 中按空格分割字符串
  • 如何在 python 中通过分隔符分割字符串
  • 如何在 python 中按每个字符拆分字符串
  • 如何在 python 中使用 split 函数拆分字符串
  • 如何在 python 中拆分字符串的最后一个元素
  • 如何在 python 中使用多个分隔符分割字符串
  • 如何在 python 中按索引拆分字符串
  • Python 将一个字符串分成相等的两半
  • Python 将一个字符串拆分成数组
  • 如何在 Python 中将句子拆分成单词列表

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python 平方一个数字

原文:https://pythonguides.com/python-square-a-number/

Python & Machine Learning training courses

在这个 python 教程中,你将了解到如何在 python 中平方一个数字,这是用来乘两个数字的,我们也将看到不同的方法。

  • Python 平方一个数字
  • Python 平方一个数字列表
  • Python 数字的平方根
  • Python 平方数校验
  • Python 平方数 while 循环
  • python 中的平方根函数
  • 带列表理解的 Python 平方根
  • 如何用 python 做指数

如果您是 Python 新手,请查看如何下载和安装 Python 。

目录

Python 方块一号

现在,我们将看到如何在 Python 中求一个数的平方。在 python 中,我们可以定义一个可以返回数字平方的函数。

举例:

def number(x):
return x*x
print(number(4))

写完上面的代码(python 平方一个数),你将打印出 " number(4) " ,然后输出将显示为 " 16 " 。这里, def 用于定义一个函数,“x”是要相乘的数。你可以参考下面 python square a 号的截图。

Python square a number

Python square a number

我们也可以通过使用指数运算符* * "来平方一个数,它会以简单的方式乘以这个数。

举例:

a = 5**2
print(a)

写完上面的代码(python 平方一个数),你将打印出 " a " ,然后输出将显示为 " 25 " 。你可以参考下面的 python square a 号截图

How to square a number in Python

How to square a number in Python

Python 方块一号列表

在 python 中对一个数字列表求平方,它将对列表中的每个数字求平方,并将每个数字与自身相乘。

举例:

my_list = [1, 3, 5, 7]
for v in my_list:
print (v**2)

写完上面的代码(python square a number list),你将打印出 " v**2 " ,然后输出将显示为 " 1 9 25 49 " 。在这里,列表将迭代,它将乘以 2。你可以参考下面的 python square a 号列表截图。

Python square a number list

Python square a number list

我们也可以通过使用列表理解来平方列表中的每个数字。

举例:

list1 = [1, 3, 5, 7]
value = [number ** 2 for number in list1]
print(value)

写完上面的代码(python square a number list),你将打印出 " value " ,然后输出将显示为 " [1 9 25 49] " 。这里,列表编号将乘以 2。你可以参考下面的 python square a 号列表截图。

Square the number of list

How to Python square a number list

Python 一个数的平方根

在 python 中,我们可以通过使用指数运算符来计算数字的平方根。

举例:

number = 9
number_square = number ** 0.5
print('Square root of %0.3f is %0.3f'%(number ,number_square))

写完上面的代码(python 一个数的平方根),你会打印出(number,number _ Square)然后输出会出现一个“9.000 的平方根是 3.000”。在这里,我们存储数字,指数运算符将计算平方根。你可以参考下面的一个数字的 python 平方根截图。

Python square root of a number

Python square root of a number

Python 方块数检查

在 Python 中,为了检查数字是否是完美的平方,使用指数为 0.5 的幂运算符* * "和模运算符 " % " 来得到余数。

它将检查输出并分别返回 true 或 false。

举例:

number1 = 9
squareroot = number1 ** 0.5
remainder = squareroot % 1
result = remainder == 0
print(result)

写完上面的代码(python 平方数检查),你将打印出“结果”,然后输出将显示为“真”。这里,9 是完美的平方,余数是 0,因为它是整数。你可以参考下面的 python 方块数检查截图。

Python square number check

Python square number check

我们还会看到什么时候数字不是一个完美的平方,余数不等于 0。那么它将给出 false 作为输出。

举例:

number1 = 8
squareroot = number1 ** 0.5
remainder = squareroot % 1
result = remainder == 0
print(result)

这里,8 不是完美的平方,余数不等于 0。因此,输出为“假”,因为它不是完美的正方形。你可以参考下面的 python 方块数检查截图。

Python square number check

How to Python square number check

Python 平方数 while 循环

在 python 中, while 循环多次重复该序列,直到条件变为假。这里,使用 while 循环计算数字的平方,直到条件为假,它将返回数字平方的输出。

举例:

number1 = 1 
while number1 <= 4:
print (number1, '\t', number1 ** 2)
number1 += 1

在编写了上面的代码(python square number while loop)之后,您将打印出(number 1 * * 2),然后输出将显示为 " 1 4 9 16 " ,它是数字的平方。这里,循环内的变量 number11 迭代到 4 。你可以参考下面 python 平方数 while 循环的截图。

Python square number while loop

Python square number while loop

python 中的平方根函数

Python math 模块包含了许多有用的函数,它还包含了用于计算平方根的 Python 平方根函数 sqrt() 。首先,我们需要导入数学模块。

import math
a = math.sqrt(64)
print(a)

写完上面的代码(python 中的平方根函数)后,你将打印“a”,然后输出将显示为“8.0”。这里,我们将使用 math.sqrt()来计算平方根,它将返回浮点数作为输出。

Square root function in python

Square root function in python

带列表理解的 Python 平方根

为了从列表中得到平方根,我们将使用列表理解。我们将首先导入数学模块,其中的数学. sqrt() 函数可用。然后我们用随机数生成列表,循环用于遍历列表中的所有元素。

import math
val = [36, 49, 42, 25, 81]
sqr_root = [math.sqrt(num) for num in val]
print("Their square roots are:\n", sqr_root)

写完上面的代码(python 平方根和列表理解),你将打印出 "sqr_root" ,然后输出将显示为 "[6.0,7.0,6.48074069840786,5.0,9.0]" 。这里,我们将使用 math.sqrt(num) 来计算列表的平方根,并且 sqr_root 列表具有原始值列表中每个数字的平方根。

Python square roots with list comprehension

Python square roots with list comprehension

如何用 python 做指数

双星号“* *”运算符用于计算指数值。被自身相乘的数叫做底数,被相乘的次数叫做指数

举例:

base = 3
exponent = 2
print("Exponential value is: ", base ** exponent)

写完上面的代码(如何在 python 中做指数),一旦你打印出 " base ** exponent " 那么输出将显示为 " 9 " 。这里,基数是 3,指数是 2,它将返回相应的值。你可以参考下面关于如何用 python 做指数的截图。

How to do exponents in python

How to do exponents in python

您可能还会喜欢以下教程:

在本教程中,你已经学习了用 Python 对一个数字求平方的不同方法,我们也看到了很多例子,比如。

  • Python 平方一个数字
  • Python 平方一个数字列表
  • Python 数字的平方根
  • Python 平方数校验
  • Python 平方数 while 循环
  • python 中的平方根函数
  • 带列表理解的 Python 平方根
  • 如何用 python 做指数

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python – stderr, stdin and stdout

原文:https://pythonguides.com/python-stderr-stdin-and-stdout/

Python & Machine Learning training courses

在这个 python 教程中,你将学习到python print——stderr、stdin、stdout 的例子。

Python 为我们提供了类似文件的对象,表示标准输入、标准输出和标准错误。所以首先我们需要用 python 导入 sys 模块。在这里,我们将看到如何使用这些对象。

目录

Python 打印到 stderr

Python stderr 被称为标准错误流。它类似于 stdout,因为它也直接打印到控制台,但主要区别是它只打印错误消息。

举例:

import sys
sys.stderr.write("This is error msg")

写完上面的代码(python print to stderr)后,可以观察到它使用 sys.stderr 打印调试消息。Stderr 总是用于打印错误,如果您想将警告和错误消息从实际输出中分离出来,这是非常有用的。

可以参考下面 python 打印到 stderr 的截图。

Python print to stderr

Python print to stderr

Python 从 stdin 获取输入

Python stdin 用于标准输入,因为它在内部调用输入函数,并且在输入字符串末尾附加一个换行符。所以,使用 rstrip()函数来删除它。

举例:

import sys
for line in sys.stdin:
if 'E' == line.rstrip():
break
print(f"Message : {line}')
print("End")

在编写了上面的代码(python 从 stdin 获取输入)之后,程序从标准输入中读取用户消息,并对其进行相应的处理。当用户输入“E”消息并打印“结束”时,程序将终止。

你可以参考下面的 python 从 stdin 获取输入的截图。

Python take input from stdin

Python take input from stdin

Python stdout

Python stdout 被称为标准输出。在这里,write 函数将直接打印您给出的任何字符串。

举例:

import sys
s = sys.stdout
my_input = ['Welcome', 'to', 'python']
for a in my_input:
s.write(a + '\n')

写完上面的代码(python stdout),输出会是“欢迎使用 python”。当我们编写 sys.stdout 时,我们得到了控制台的输出。

关于 python stdout 可以参考下面的截图。

Python stdout

Python stdout

从 python 中的 stdin 读取

为了从 stdin 中读取输入,我们可以在 Python 中调用 read()readlines() 函数来读取所有内容。

举例:

from sys import stdin
my_input = stdin.read(1)
my_input2 = stdin.readline()
total = int(my_input2)
print("my_input = {}".format(my_input))
print("my_input2 = {}".format(my_input2))
print("total = {}".format(total))

在编写上述代码(在 python 中从 stdin 读取)之后,stdin 将读取输入并打印每个输入。

你可以参考下面用 python 从 stdin 中读取的截图。

Read from stdin in python

Read from stdin in python

您可能会喜欢以下 Python 教程:

在本 Python 教程中,我们学习了-Python print to stderr,Python 从 stdin、Python stdout 中获取输入,并通过示例在 Python 中从 stdin 中读取。

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python 字符串格式化示例

原文:https://pythonguides.com/python-string-formatting/

Python & Machine Learning training courses

在本 python 教程中,我们将讨论 Python 字符串格式化,我们还将涵盖以下主题:

  • Python 字符串格式
  • Python 字符串格式化多个值
  • Python 字符串格式填充
  • 右对齐的 Python 字符串格式填充
  • 居中对齐的 Python 字符串格式填充
  • 使用中心对齐和*填充字符的 Python 字符串格式填充
  • 使用 f 进行 Python 字符串格式化
  • Python 字符串格式化浮点
  • Python 字符串格式方法
  • Python 字符串格式化小数位
  • Python 字符串格式整数
  • Python 字符串大写
  • Python 将字符串中的每个单词大写

目录

Python 字符串格式化

在这里,我们将看到 python 字符串格式化的一个例子。

Python string format() 方法允许格式化字符串的选定部分。我们使用 format 来确保字符串按预期显示。

为了控制这样的值,在文本中添加一个占位符花括号{} ,然后通过 format() 方法运行这些值。

举例:

roll = 101
msg = "The roll start from {} "
print(msg.format(roll))

为了得到输出,我使用了 print(msg.format(roll)) 。您可以参考下面的输出截图。

Python string formatting

Python string formatting

这就是我们如何在 Python 中进行字符串格式化。

你可能也喜欢,python 中如何串联字符串?以及如何在 Python 中添加两个变量

Python 字符串格式化多值

现在,我们将看到 python 字符串格式化多个值

在本例中,我们将使用多个值以便将多个值添加到 format() 方法中。我们只需在文本中添加一个占位符花括号{} ,然后通过 format() 方法运行这些值。

举例:

roll = 1
sub_code = 121
msg = "The roll {} has taken subject math and the code is {}."
print(msg.format(roll, sub_code))

为了得到输出,我使用了 print(msg.format(roll,sub_code)) 。您可以参考下面的输出截图。

Python string formatting multiple values

Python string formatting multiple values

你也可能喜欢如何通过例子将 Python 字符串转换成字节数组。

Python 字符串格式填充

让我们看看 python 字符串格式填充

Python 字符串可以用类似于 format() 的方式格式化。这里,完成了左对齐的字符串填充,并且可以将值填充到特定的长度。填充字符可以是空格或指定字符。

举例:

print("{:10}".format("Welcome"))

为了获得输出,我使用了print(“{:10 }”。格式("欢迎")。Python 中字符串格式填充的输出可以参考下面的截图。

Python string formatting padding

Python string formatting padding

你可能也喜欢,如何在 Python 中把一个字符串转换成日期时间

Python 字符串格式填充,右对齐

现在,我们将看到 python 字符串格式填充右对齐

在使用右对齐的 python 字符串格式填充中,我们将使用 " > " 来填充剩余位置右侧的字符串。

举例:

print("{:>8}".format("Hello"))

为了得到输出,我使用了print(“{:>8 }”。格式("你好")。您可以参考下面的输出截图。

Python string formatting padding with right alignment

Python string formatting padding with right alignment

你可能喜欢用 Python 生成随机数和字符串

居中对齐的 Python 字符串格式填充

在这里,我们将看到 python 字符串格式填充与中心对齐

为了得到中心对齐的字符串格式填充,我们将使用“^”为中心对齐到剩余的地方。

举例:

print("{:^10}".format("Python"))

为了得到输出,我使用了 print("{:^10}".格式(" Python ")。您可以参考下面的输出截图。

Python string formatting padding with center alignment

Python string formatting padding with center alignment

这就是如何使用居中对齐来填充 Python 字符串格式。

查看 Python 中的字符串方法和示例

Python 字符串格式用中心对齐和*填充字符填充

现在,我们将看到用中心对齐和*填充字符填充的字符串格式。

为了得到带有中心对齐 和*填充字符字符串格式填充,我们将使用 "*" 填充剩余的空间,而 "^" 用于中心对齐。

举例:

print("{:*^10}".format("Guides"))

为了得到输出,我使用了 print("{:*^10}".格式("指南")。您可以参考下面的输出截图。

Python string formatting padding with center alignment and * padding character

Python string formatting padding with center alignment and * padding character

签出 Python 将字符串写入文件

使用 f 的 Python 字符串格式化

这里,我们将看到使用 f 的 python 字符串格式化。

为了使用 f 创建一个字符串格式,我们在字符串前面加上了字母“f”。字符串本身可以像我们使用 str.format() 一样格式化。F 字符串是一种方便的格式化方式。

举例:

value = 'Python'
print(f"Hello, Welcome to {value} tutorial {value} is very interesting.")

为了得到输出,我使用了 print(f“你好,欢迎来到{value}教程{value}非常有趣。”)。您可以参考下面的输出截图。

Python string formatting using f

Python string formatting using f

这是如何在 Python 中使用 f 进行字符串格式化。

检查从字符串 Python 中移除字符。

Python 字符串格式化浮点

现在,我们将看到 python 字符串格式化浮动

python 字符串格式化浮动中,我们使用了 "{ }" 作为格式化括号内的变量。在这个例子中,精度变量控制显示多少个小数位。

pi = 3.1415926
precision = 2
print( "{:.{}f}".format( pi, precision ))

为了获得输出,我使用了 print("{:。{}f}”。格式(pi,precision) )。您可以参考下面的输出截图。

Python string formatting float

Python string formatting float

查看如何处理索引错误:Python 中的字符串索引超出范围

Python 字符串格式方法

现在,我们将看到 python 字符串格式方法

format() 方法格式化指定的值,并将它们插入字符串占位符中。占位符用花括号“{ }”定义,价格固定,有两位小数格式。

val = "Its only {price:.2f} Rupees!"
print(val.format(price = 84))

为了得到输出,我使用了print(val . format(price = 84))。您可以参考下面的输出截图。

Python string format methods

Python string format methods

阅读:如何在 Python 中求一个字符串的长度

Python 字符串格式化小数位

在这里,我们将看到 python 字符串格式化小数位

python 字符串格式化小数位中,我们使用了 "{:.3f}" 将一个浮点数格式化为 3 个小数位,通过使用 format() 它将被格式化。

举例:

print("{:.3f}".format(2.123456))

为了获得输出,我使用了print(“{:. 3f }”。格式(2.123456) )。您可以参考下面的输出截图。

Python string formatting decimal places

Python string formatting decimal places

这就是如何在 Python 中进行字符串格式化小数位。

查看 Python 将列表转换为字符串

Python 字符串格式化整数

现在,我们将看到 python 字符串格式化整数

字符串格式化整数中,我们将使用用于整数参数的“d”。占位符通过使用花括号“{ }”来定义。

举例:

print("My marks is {:d} in maths".format(80))

为了得到输出,我使用了 print("我的数学成绩是{:d}"。格式(80) )。您可以参考下面的输出截图。

Python string formatting integer

Python string formatting integer

Python 字符串大写

这里是另一个 Python 字符串格式化的例子。

  • 使用 Python string upper() 方法,我们可以将字符串中所有小写字符转换成大写。
  • 为了将任何字符串转换成大写,我们在 Python 中内置了 upper()方法,该方法将小写转换成大写。
  • 该函数可以接受任何小写字符串作为输入,并且可以产生大写字符串作为输出。

举例:

  • 首先,我们需要取一个字符串值。在下面的 python 代码中,你可以看到,我已经把值取为“欢迎使用 python”
  • 现在打印 "msg.upper()" ,它将以大写字母返回字符串。

Python 字符串大写代码

下面是字符串大写的 python 代码。

msg = "welcome to python"
print(msg.upper())
  • 在编写完上面的 Python 代码(字符串大写)后,您将打印出 "msg.uppercase()" ,然后输出将显示为"欢迎使用 PYTHON" ,它将返回一个大写字符串作为输出。另外,你可以参考下面的截图。

Python string function uppercase

Python string uppercase

这是如何在 Python 中将一个字符串转换成大写的。

阅读:如何在 Python 中删除字符串的第一个字符

Python 将字符串中的每个单词大写

在 python 中,为了大写字符串中的每个单词,我们将使用内置方法 upper() 来大写字符串中的所有字母。

举例:

my_string = 'python guides'
print(my_string.upper())

写完上面的 python 代码(Python 将字符串中的每个单词大写),你将打印出 "my_string.upper()" ,然后输出将出现 " PYTHON GUIDES " 。这里,string.upper()用于大写字符串中的每个单词。另外,你可以参考下面的截图,将字符串中的每个单词大写。

Python capitalize each word in a string

Python capitalize each word in a string

这是另一个 Python 字符串格式化的例子,在这里我们看到了如何在 Python 中大写字符串中的每个单词。

您可能会喜欢以下 Python 教程:

在本教程中,我们已经学习了 Python 字符串格式化,并且我们已经涵盖了以下主题:

  • Python 字符串格式
  • Python 字符串格式化多个值
  • Python 字符串格式填充
  • Python 字符串格式填充,左对齐
  • 右对齐的 Python 字符串格式填充
  • 居中对齐的 Python 字符串格式填充
  • 使用中心对齐和*填充字符的 Python 字符串格式填充
  • 使用 f 进行 Python 字符串格式化
  • Python 字符串格式化浮点
  • Python 字符串格式方法
  • Python 字符串格式化小数位
  • Python 字符串格式整数
  • Python 字符串大写
  • Python 将字符串中的每个单词大写

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

如何用例子将 Python 字符串转换成字节数组

原文:https://pythonguides.com/python-string-to-byte-array/

Python & Machine Learning training courses

在这个 python 教程中,你将了解到 python 字符串到字节数组。此外,我们将检查:

  • Python 字符串到字节数组编码
  • Python 字符串到字节数组 UTF-8
  • Python 字符串到字节数组 UTF-16
  • Python 字符串到字节数组十六进制
  • Python base64 字符串到字节数组
  • Python 二进制字符串到字节数组
  • Python JSON 字符串到字节数组
  • Python 字符串转换为不带 b 的字节数组
  • Python 十六进制字符串到字节数组
  • Python 字符串到字节数组 ASCII
  • Python 2.7 字符串到字节类型

目录

Python 字符串到字节数组

现在,我们可以看到如何在 python 中将字符串转换成字节数组

  • 在这个例子中,我将字符串作为“python 指南”,为了将该字符串转换为字节,我使用了 new_string = bytes(string," ascii")
  • bytearray() 方法返回一个字节数组对象。

示例:

string = "python guides"
new_string = bytes(string,"ascii")
print(new_string)

为了打印这个字节,我使用了 print(new_string) 。在下面的屏幕截图中,您可以在输出中看到一个转换后的字符串。

Python string to byte array

Python string to byte array

Python 字符串到字节数组编码

在这里,我们可以看到如何通过在 python 中编码将字符串转换为字节数组。

在这个例子中,我将一个字符串作为“python guides”,并通过使用 new_string = string.encode()将其编码成一个字节数组。encode()方法用于对字符串进行编码。

示例:

string = "python guides"
new_string = string.encode()
print(new_string)

为了打印编码后的字符串,我使用了 print(new_string)。你可以参考下面的输出截图。

Python string to byte array encoding

Python string to byte array encoding

Python 字符串到字节数组 UTF-8

现在,我们可以看到如何在 python 中将字符串转换成字节数组 utf-8

在这个例子中,我将一个字符串作为“Python 指南”。为了将字符串转换成 UTF-8,我使用了 newstring = bytes(string,' utf-8')bytearray() 方法返回字节数组对象。

示例:

string = "Python guides."
newstring = bytes(string, 'utf-8')
print(newstring)

为了打印转换后的字符串,我使用了 print(newstring) 。下面的截图显示了输出。

Python string to byte array UTF

Python string to byte array UTF

阅读: Python NumPy concatenate

Python 字符串到字节数组 UTF-16

在这里,我们可以看到如何在 python 中将字符串转换成字节数组 UTF-16

  • 在这个例子中,我将一个字符串作为“Python 指南”。将字符串转换为 UTF-16。我用过 newstring = bytes(string,' utf-16')bytearray() 方法返回字节数组对象。

示例:

string = "Python guides."
newstring = bytes(string, 'utf-16')
print(newstring)

为了打印转换后的字符串,我使用了 print(newstring) 。您可以在下面的屏幕截图中看到 utf-16 格式的字符串输出。

Python string to byte array UTF-16

Python string to byte array UTF-16

Python 字符串到字节数组十六进制

让我们看看如何在 python 中将字符串转换成十六进制字节数组

  • 在这个例子中,我将一个字符串作为 string = "AB CD EF" 来将字符串转换为十六进制字节数组,我使用了new string = bytearray . from hex(string)
  • 这个方法返回一个包含十六进制数字的字符串。

示例:

string = "AB CD EF"
newstring = bytearray.fromhex(string)
print(newstring)

为了将字符串打印成十六进制字节数组,我使用了 print(newstring) 。您可以参考下面的输出截图。

Python string to byte array hex

Python string to byte array hex

Python base64 字符串到字节数组

在这里,我们可以看到如何在 python 中将 base64 字符串转换成字节数组

  • 在这个例子中,我导入了一个名为 base64 的模块。该模块用于将二进制数据转换为 ASCII 字符。
  • 要解码字符串,我们必须使用string = base64 . b 64 decode(" python guides ")

示例:

import base64
string = base64.b64decode("Pythonguides")
print(string)

要打印编码后的字符串,我们必须使用 print(string) 。您可以参考下面的输出截图。

Python base64 string to byte array

Python base64 string to byte array

Python 二进制字符串到字节数组

现在,我们可以如何在 python 中将二进制字符串转换成字节数组

  • 在这个例子中,我取了一个二进制字符串作为string = " 11000010110001001100011 "。将二进制字符串转换为字节数组。
  • 我用过 new_string = bytearray(string,“ascii”)bytearray() 方法返回字节数组对象。

示例:

string = "11000010110001001100011"
new_string = bytearray(string,"ascii")
print(new_string)

为了打印转换后的字符串,我使用了 print(new_string) 。下面的截图显示了输出。

Python binary string to byte array

Python binary string to byte array

阅读: Python NumPy linspace

Python JSON 字符串到字节数组

在这里,我们可以看到如何在 python 中将 JSON 字符串转换成字节数组

  • 在这个例子中,我导入了一个名为 JSON 的模块。JSON 模块提供了类似于 pickle 的 API,用于在内存中进行转换。
  • JSON 字符串类似于 javascript 对象。JSON 中的密钥必须是带双引号(" ")的字符串。
  • json_string = '{"Name": "Kushi "," subjects": ["english "," maths"]} '就是 json 字符串
  • bytearray() 方法用于将 JSON 字符串转换为 bytearray 字符串, bytearray() 方法返回字节数组对象。

示例:

import json
json_string = '{"Name": "Kushi", "subjects": ["english", "maths"]}'
new_string = bytearray(json_string,"ansi")
print(new_string)

为了打印转换后的字符串,我使用了 print(new_string) 。在下面的截图中,你可以看到 json 字符串转换成 bytearray 的输出。

Python JSON string to byte array

Python JSON string to byte array

Python 字符串到不带 b 的字节数组

在这里,我们可以在 python 中如何在没有 b 的情况下将字符串转换成字节数组

在这个例子中,我将一个字符串作为包含一个字节数组的b‘python guides’,然后对该字符串进行解码,以打印不包含 b 的字节数组。为了解码该字符串,我使用了new string = string . decode()

示例:

string = b'python guides'
print(string)
newstring = string.decode()
print(newstring) 

为了打印不带 b 的字符串,我使用了 print(newstring) 。您可以参考下面的输出截图。

Python string to a byte array without b

Python string to a byte array without b

Python 十六进制字符串到字节数组

现在,我们可以看到如何在 python 中将十六进制字符串转换成字节数组

在这个例子中,我取了一个 hex_string = "1A ",为了将这个字符串转换成 bytearray,我使用了new string = bytearray . from hex(hexa _ string)bytearray.fromhex() 方法返回一个包含十六进制数字的必需字符串。

示例:

hexa_string = "1A"
newstring = bytearray.fromhex(hexa_string)
print(newstring)

为了打印转换成字节数组的十六进制字符串,我使用了 print(newstring) 。您可以参考下面的输出截图。

Python 字符串到字节数组 ASCII 码

在这里,我们可以看到如何在 python 中将 string 转换成 bytearray ASCII

在这个例子中,我将一个字符串作为(' python guides '),为了将该字符串转换为 bytearray ASCII,我使用了string = bytes(str(' Python guides ')。编码(" ascii ")

示例:

string = bytes(str('Python guides').encode("ascii"))
print(string)

为了打印转换后的字符串,我使用了 print(string)。您可以参考下面的输出截图

Python string to byte array ASCII

Python string to byte array ASCII

Python 2.7 字符串到字节类型

在这里,我们可以看到一个给定的字符串在 python 中属于哪种类型

在这个例子中,我采用了三个参数 a = "hi"b=bytes(0)c=25 ,为了获得给定字符串的类型,我使用了 type() 函数。 type() 函数返回作为参数传递的变量的类类型。

示例:

a="hi"
print(type (a))
b=bytes(0)
print(type (b))
c=25
print(type (c))

为了获得输出,我使用了 print(type (a)) 来获得第一个参数的类类型,并为第二个参数。我使用了 print(类型(b)),对于第三个参数,我使用了 print(类型(c))。您可以参考下面的输出截图。

Python string to byte type

Python string to byte type

您可能会喜欢以下 Python 教程:

在这个 Python 教程中,我们已经学习了将 Python 字符串转换成字节数组。此外,我们还讨论了以下主题:

  • 如何在 Python 中将字符串转换成字节数组编码
  • Python 字符串到字节数组 UTF-8
  • Python 字符串到字节数组 UTF-16
  • Python 字符串到字节数组十六进制
  • Python base64 字符串到字节数组
  • Python 二进制字符串到字节数组
  • Python JSON 字符串到字节数组
  • Python 字符串转换为不带 b 的字节数组
  • Python 十六进制字符串到字节数组
  • Python 字符串到字节数组 ASCII
  • Python 2.7 字符串到字节类型

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python 字符串列表–完整教程

原文:https://pythonguides.com/python-string-to-list/

Python & Machine Learning training courses

在这个 Python 教程中,你将学习到关于 Python 的字符串列表。让我们看看如何将 Python 字符串转换成列表,我们还将介绍下面的例子:

  • Python 字符串到字符列表
  • Python 字符串到列表的转换
  • 要用分隔符列出的 Python 字符串
  • 单词列表的 Python 字符串
  • Python 字符串到列表拆分
  • Python 字符串到整型列表
  • 要用空格列出的 Python 字符串
  • 用于换行符列表的 Python 字符串
  • 字典列表的 Python 字符串
  • Python 字符串到字符串列表
  • 通过分隔符列出的 Python 字符串
  • Python 字符串到浮点列表
  • Python 字符串到列表数组
  • Python 字符串无需拆分即可列出
  • Python 向列表元素添加字符串
  • Python 字符串列表提取子串
  • Python 字符串拆分为列表正则表达式
  • Python 字符串列表移除重复项
  • Python 字符串列表索引
  • Python 字符串到元组列表
  • json 列表的 Python 字符串
  • 用于列出移除空格的 Python 字符串
  • Python 字符串列表到数据帧
  • Python 字符串列表最大长度
  • Python 字符串列表到字节数组
  • Python 字符串与列表

目录

Python 字符串列表

  • 在这个程序中,我们将学习如何用 Python 将字符串转换成列表。
  • 为了在 Python 中把一个字符串转换成一个列表,我们可以很容易地应用 T2 的 split()方法。这个方法将帮助用户在给定的分隔符处拆分一个字符串,并且它总是返回一个列表中的拆分字符串。
  • 在 Python 字符串中,如果函数中没有将分隔符作为参数给出,或者默认情况下分隔符的值为 none,则应用不同的拆分算法。

语法:

下面是 split() 函数的语法

String.split(separator,maxsplit)
  • 它由几个参数组成
    • 分隔符:这是一个可选参数,用于拆分字符串,如果没有提供,空白将被视为分隔符。
    • Maxsplit: 指定函数中需要多少次拆分。

举例:

让我们举个例子,检查一下如何将一个字符串转换成一个列表

new_str = "java is a best programming language"

new_lis = list(new_str.split(" ")) 
print("convert str to list:",new_lis) 

在上面的代码中,我们首先初始化一个字符串‘new _ str’,然后使用 split() 方法并传递空白作为分隔符,该分隔符拆分字符串中的单词,并将它们存储到列表中。

下面是以下代码的截图

Python string to list

Python string to list

阅读从字符串 Python 中删除字符(35 个例子)

在 Python 中把字符串转换成列表

通过使用 Python list()函数,我们可以执行这个特定的任务,这个方法获取可迭代的对象并将它们转换成列表。

下面是 Python 中要列出的字符串代码

new_val = "john is a good boy"

new_out = list(new_val.strip(" "))
print(new_out)

在这个例子中,我们使用了 strip() 函数的概念,它将从字符串的开头和结尾删除空格。

下面是以下给定代码的执行过程

Python string to list

Python string to list

阅读如何在 Python 中创建字符串

Python 字符串到字符列表

  • 让我们看看在 Python 中,如何通过使用内置的 list() 方法将一个字符串转换成一个字符列表
  • 在 Python 中, list() 构造函数直接从 iterable 对象生成一个列表,它总是返回一个字符串中所有可用字符的列表,在这个例子中,我们必须将一个字符串对象传递给 list() 方法。

语法:

下面是 list()方法的语法

list(iterable)
  • 它只包含一个参数
    • Iterable :这个参数可以作为一个序列使用,也可以说是任何其他的 Iterable 对象。

源代码:

give_str = 'Micheal'

new_val2 = list(give_str)
print(new_val2) 

在上面的代码中,我们已经获取了输入字符串‘Micheal’,现在我们使用 list() 构造函数,它将给出一个列表,其中包含单个字符【T4’‘M’,‘I’作为元素。

下面是以下给定代码的实现

Python string to list of characters

Python string to list of characters

使用 if-else 阅读 Python 列表理解

检查如何将一个字符串转换成一个字符列表

通过使用 Python list comprehension 方法,我们可以将一个字符串转换成一个字符列表。在 Python 中,列表理解方法用于构建新列表。列表理解是一种基于现有列表定义和声明列表的简单方法。

下面是源代码:

 str_new = 'Australia'

new_char = [i for i in str_new]
print(new_char) 

在上面的例子中,一个列表被分配给一个变量‘str _ new’,,这个列表存储了 iterable 对象的条目。之后,我们调用 print()语句来显示输出。

下面是以下给定代码的执行过程

Python string to list of characters

Python string to list of characters

阅读 Python 从字符串中移除子串+示例

Python 字符串到列表的转换

  • 让我们看看如何用 Python 将一个字符串转换成一个列表。
  • 在这个例子中,我们使用了一个 split() 函数的概念,如果您想要将一个字符串拆分为列表,那么您不需要为 split 方法提供任何分隔符或分隔符。如果函数参数中没有给定分隔符,那么默认情况下它不取值。

语法:

下面是 split()函数的语法

string.split(delimiter, maxsplit)

举例:

pro_lang = "Python developer"

new_char = pro_lang.split()
print("Conversion string to list:",new_char)

下面是以下给定代码的输出

Python string to list conversion

Python string to list conversion

阅读 Python 3 的 string replace()方法

用分隔符列出的 Python 字符串

  • Python 中用分隔符将一个字符串转换成一个列表,我们可以使用 str。方法拆分()。
  • 在这个例子中,我们可以使用逗号分隔的字符串’、并将它们转换成一个字符列表。在 python 中, split() 函数基本上是用来根据分隔符将一个字符串拆分成一个列表。
  • 这里我们提到了 split() 方法中的分隔符参数。

下面是源代码:

stu_name = "oliva,Elijah,Potter"

new_lis = stu_name.split(",")
print(new_lis)

输出:

Python string to list with separator

Python string to list with separator

阅读 Python 比较字符串

Python 字符串到单词列表

  • 让我们看看如何将一个字符串转换成一个单词列表在 Python 中,解决这个问题最简单的方法是使用 split() 方法,这个方法会将一个字符串分解成一个列表,其中每个单词都是一个列表项。
  • 在这个例子中,默认情况下,这个函数的分隔符是空白,我们必须拆分第一个索引元素。

源代码:

def convert(Country_name):
    return (Country_name[0].split())

Country_name = ["Australia Germany"]
print(convert(Country_name)) 

在上面的代码中,我们首先定义了一个函数‘convert’,然后将 list‘country _ name’作为参数传递。现在创建一个列表并调用 print() 语句来显示结果。

下面是以下给定代码的执行过程

Python string to list of words

Python string to list of words

阅读 Python 3 字符串方法示例

Python 字符串到列表的拆分

  • 这里我们可以看到如何使用 Python 中的 split()方法将字符串转换成列表。
  • 在 Python 中, split() 方法总是返回字符串中的单词列表,并且还将一个字符串分成一个列表。默认情况下,分隔符是空白字符,如空格、' '、\n、等。

语法:

下面是 split() 函数的语法

string.split(separator,maxsplit)

源代码:

new_str = 'John,micheal,George'

print(new_str.split('-'))

下面是以下给定代码的输出

Python string to list split

Python string to list split

读取 Python 在字符串中查找子串

Python 字符串到 int 列表

  • 让我们看看如何在 Python 中将字符串列表转换成整数列表。
  • 通过使用 list comprehension 方法,我们可以执行这个特定的任务,这个方法用于构建一个新的列表,其中每个列表元素都要迭代。

举例:

val_lis = ['16', '87', '27', '19', '145']

new_char = [int(x) for x in val_lis]
print ("updated list is : ",new_char)

在上面的例子中,我们有一个 list 'val_lis' ,然后应用内置函数 int,通过使用 list comprehension 方法得到一个整数列表。

下面是以下给定代码的实现

Python string to list of ints

Python string to list of ints

如何将字符串列表转换成整数

通过使用 map 和 split() 函数我们可以解决这个问题,在 Python 中, map() 函数非常高效,并且容易将字符串列表转换为整数,这个方法总是返回一个迭代器,将字符串转换为整数列表。

源代码:

new_char = "15 27 89"

val_list = new_char.split()
new_item = map(int, val_list)
d = list(new_item)
print(d)

下面是以下代码的截图

Python string to list of ints

Python string to list of ints

读取无法将字符串转换为浮点 Python

Python 字符串以空格列出

  • 这里我们可以看到如何在 Python 中将一个字符串转换成一个带有空格的列表。
  • 为了执行这个任务,我们可以使用函数 join()。在 Python 中, join() 函数是一个字符串方法,通过组合 iterable 对象的所有元素,并以“”分隔,返回 str。

源代码:

def convert(new_name):

    return ' '.join(new_name)
new_name = ['Adam','Hayden','Chris']
print(convert(new_name))

下面是以下给定代码的输出

Python string to list with spaces

Python string to list with spaces

读取 Python 中的切片字符串

如何将字符串转换成带空格的列表

通过使用' * "操作符,我们可以将一个字符串转换成 Python 中带有空格的列表。在这个例子中,我们首先声明一个列表‘new _ val _ lis’,并存储它们的整数值。

源代码:

new_val_lis = [16,82,93,46]
print(*new_val_lis)

new_val = ['lily','rose','jasmine']
print(*new_val)

下面是以下代码的截图

Python string to list with spaces

Python string to list with spaces

在 Python 中读取转换字符串为浮点数

Python 字符串列表换行符

  • 这里我们可以看到如何用 Python 中的换行符分割一个字符串。为了完成这项任务,我们首先声明一个字符串中所有行的列表,这些行在行尾分开。
  • 通过使用 "\n "、" \r" 特殊字符,我们可以分隔给定字符串中的字符,这些行边界被定义为字符串中的拆分。

举例:

new_variable = "z y u \n i t a \r t z x"

new_sep_char = new_variable.splitlines()
print(new_sep_char) 

下面是以下给定代码的执行过程

Python string to list newline

Python string to list newline

阅读追加到字符串 Python

使用换行符将字符串转换成列表——另一种方法

通过使用 splitline() 方法,我们可以解决这个问题,这个函数用于在 Python 中的线边界处分割线。

源代码:

new_string1 = 'Oliva\nis\nagood\nprogrammer'

new_str2= new_string1.splitlines()
print(new_str2)

下面是以下代码的截图

Python string to list newline

Python string to list newline

阅读将字符串添加到 Python +示例列表中

Python 字符串到字典列表

  • 让我们看看如何在 Python 中将一个字符串转换成一个字典列表。
  • 为了执行这个特定的任务,我们可以使用方法 eval()。这个方法检查数据类型,并以列表的形式返回结果。在 Python 中, eval() 是一个内置函数,它评估字符串并将它们转换成列表。

源代码:

country_str = "[{'australia' : 15, 'England' : 19}, {'Germany' : 27, 'Europe' : 37}]"

new_output = list(eval(country_str))
print(new_output) 

在上面的例子中,我们首先初始化一个字符串,然后使用 eval() 方法来转换字典列表。

下面是以下给定代码的实现

Python string to list of dictionaries

Python string to list of dictionaries

阅读 Python 程序反转字符串示例

Python 字符串到字符串列表

  • 在 Python 中,要将字符串转换成字符串列表,我们可以使用 split() 函数,这个方法将帮助用户将一个字符串分解成一个列表,其中每个单词都是一个列表项。

举例:

pro_sting =" Mongodb sql java"

print("original str: ",pro_sting) 
print("Convert string to list of str :",pro_sting.split()) 

在上面的代码中,我们首先考虑一个字符串,‘pro _ sting’,,然后应用 split() 函数。它用于在给定的分隔符上将一个字符串拆分成一个列表。在这个例子中,我们没有提到分隔符参数是一个 split() 函数。

下面是以下给定代码的输出

Python string to list of strings

Python string to list of strings

阅读 Python 字符串格式化示例

Python 字符串以分隔符列出

  • 在这里,我们可以看到如何使用 Python 中的分隔符将字符串转换成列表。
  • 默认情况下,分隔符使用空白并分隔单词,但是在这个例子中,我们提到了在 split() 函数中使用作为分隔符。

源代码:

alpha_str = 'o,q,e,x,c'

new_list = alpha_str.split(",")
print (new_list)

在上面的代码中,我们首先考虑一个字符串‘alpha _ str ’,并在单引号中为它们指定字符。现在我们可以使用 split() 函数并传递分隔符','作为参数。

下面是以下给定代码的输出

Python string to list by delimiter

Python string to list by a delimiter

阅读如何在 python 中连接字符串

Python 字符串到浮点列表

  • 通过使用 map 和 split() 函数,我们可以执行这项任务,在 Python 中, map() 函数非常有效,可以轻松地将字符串列表转换为浮点数,该方法总是返回一个迭代器,将字符串转换为浮点数列表。

源代码:

flo_str = "31.9 23.4 118.3"

new_val_lis = flo_str.split()
new_item = map(float, new_val_lis)
z = list(new_item)
print("Convert string to float list:",z)

在这个例子中,我们已经创建了一个字符串‘flo _ str’,并为它们分配了浮点值。现在,通过使用 map() 函数,我们将浮点数据类型作为参数传递,并将它们存储到一个‘new _ item’变量中。

输出:

Python string to list of floats

Python string to list of floats

阅读如何将 Python 字符串转换成字节数组并举例

另一个使用 list comprehension 和 eval()方法的例子

  • 还可以使用 Python 内置函数 eval() 和 list comprehension 将字符串转换成浮点数列表。
  • 在 Python 中,list comprehension 方法从字符串等其他可迭代对象中声明新的列表,而 eval() 方法解析表达式参数,并将算术表达式作为字符串进行检查。

举例:

i = ["4.2", "85.1", "92.5"]

new_float_value = [eval(z) for z in i]
print(new_float_value)

下面是以下代码的截图

Python string to list of floats

Python string to list of floats

通过使用 for 循环和 split()方法,我们可以在 Python 中将一个字符串转换成一个浮点列表

源代码:

new_floa_str = "76.4 35.8 167.9"

emp_lis = []
for i in new_floa_str.split():
  emp_lis.append(float(i))

print(emp_lis)

在这个例子中,我们在字符串中按空格创建了一个条目列表,我们可以使用 split() 和 use for 循环来迭代给定列表中的每个条目。之后,使用 float 数据类型将每一项转换成浮点数。

截图:

Python string to list of floats

Python string to list of floats

阅读如何用 Python 将字符串转换成日期时间

Python 字符串到列表数组

  • 让我们看看如何在 Python 中将字符串转换成数组。
  • 为此,我们可以使用 split() 方法,该方法将帮助用户将元素单独拆分成列表项。在 split() 方法中,您可以指定分隔符,但是在本例中,默认情况下,分隔符是空白。

语法:

下面是 split() 方法的语法

String.split(separator, maxsplit)

举例:

让我们举一个例子,看看如何将字符串转换成数组

new_alpha = "Python is a best programming language"

new_array = new_alpha.split()
print(new_array)

在上面的例子中,我们通过使用空白分隔符来分割字符串。

输出:

Python string to list array

Python string to list array

读取 Python 生成的随机数和字符串

Python 字符串到列表不拆分

  • 这里我们可以看到如何在不使用 Python 中的 split()方法的情况下将一个字符串转换成一个列表。
  • 在 Python 中打破一个字符串最简单的方法,我们可以使用列表切片方法。在列表切片方法中,第一个和最后一个索引由冒号分隔。如果我们没有为第一个索引设置值,那么默认情况下它取 0,最后一个索引被设置为列表的结束元素。

语法:

list[start:stop:step]

源代码:

new_character = "Micheal"

empty_list = []

empty_list[:] = new_character
print('Convert string to list:',empty_list)

下面是以下给定代码的执行过程

Python string to list without split

Python string to list without split

这是如何在不使用 Python 中的 split()函数的情况下将一个字符串拆分成一个列表。

读取 Python 将字符串写入文件

Python 向列表元素添加字符串

  • 在 Python 中如何将一个字符串添加到一个元素列表中,我们可以应用 Python 中的 append()函数,这个方法会将新的项添加到一个列表的末尾。
  • 在这个例子中,我们指定了一个条目来添加一个字符串到一个列表中,它不会返回一个新的列表,但是它会通过将元素插入到列表的最后来更新原来的列表。

源代码:

new_str_lis = ['a','z','x','c']

add_str = 'uveq'
new_str_lis.append(add_str)
print("list after appending string is:",new_str_lis)

在上面的例子中,我们首先初始化了一个列表,并创建了一个需要添加到列表中的字符串‘add _ str’。将字符串添加到列表中我们可以使用方法 append() ,这个特殊的函数将一个字符串元素添加到列表的最后,而不改变字符列表。

下面是以下给定代码的执行过程

Python add string to list elements

Python add a string to list elements

阅读如何处理索引错误:Python 中的字符串索引超出范围

Python 字符串列表提取子串

  • 这里我们可以看到如何在 Python 中从给定的字符串中提取子串。
  • 在 Python 中,我们可以通过使用切片方法轻松解决这个任务。在这个程序中,我们要访问一个字符串的子字符串。子串是字符串中的一系列字符。
  • 为了从 Python 的字符串中提取子串,我们可以应用字符串切片方法。

语法:

下面是 slice()方法的语法

slice(start,stop,step)

注意:该方法由三个参数 start、stop、step、组成,切片对象被插入到字符串变量中。

举例:

ext_str = "oplrtwe"

new_slic =slice(2)
new_slic2 = slice(3)
print(ext_str[new_slic])
print(ext_str[new_slic2])

在上面的例子中,我们在 slice() 构造函数中将单个整数值【T0’‘2’作为参数传递,索引值从 0 开始。

下面是以下给定代码的执行过程

Python string list extract substring

Python string list extract substring

阅读如何用 Python 将列表转换成字符串

Python 字符串拆分为列表正则表达式

  • 这里我们可以看到如何基于 Python 中的 regex 模式来拆分字符串。
  • 要通过正则表达式分割字符串,我们可以使用 re。方法拆分()。在 Python 中, re.split() 方法通过比较字符串中给定模式的所有情况来返回字符串列表。
  • 正则表达式使用反斜杠字符 ('') ,但是在这个例子中我们使用下划线分隔符 ('_ ')。

语法:

下面是 re.split()函数的语法

re.split(pattern, string, maxsplit=0, flags=0)
  • 这个方法由四个参数组成。
    • 模式:正则表达式模式用作分隔符,也用于拆分字符串。
    • String: 要从字符串列表中拆分的变量或单词。
    • Maxsplit: 可选参数,默认情况下,Maxsplit 参数为 0。
    • flags: 可选标志,默认情况下,该方法不需要标志。

源代码:

import re

nw_string1 = "13__oliva,,eljiah,_john_,Micheal"
reg_exp_str = re.split('[_,][_,]',nw_string1)
print(reg_exp_str)

首先在上面的代码中,我们创建了一个字符串 'nw_string1' ,在这个字符串中,每个单词都用下划线和逗号分隔。现在,这个分隔符 ('_') 用于将字符串拆分成子字符串。

输出:

Python string split to list regex

Python string split to list regex

阅读如何用 python 将整数转换成字符串

Python 字符串列表删除重复项

  • 让我们看看如何在 Python 中从列表字符串中删除重复项。
  • 您可以使用 set() 方法从列表中删除重复项。在 Python 中, set() 方法不能包含任何重复的值,这个方法将帮助用户转换成一个新的列表,其中重复的字符被删除。

让我们举一个例子,看看如何使用 set() 方法从列表中删除重复项。

源代码:

new_str = ['a','g','j','i','u','p','u','i','z']

rem_new_dup = list(set(new_str))
print(rem_new_dup)

在上面的代码中,我们首先初始化一个名为‘new _ str’的列表,其中包含字母字符。现在我们声明一个变量 'rem_new_dup' ,它存储了 set() 函数,并将 'new_str' 变量作为一个参数。该过程从给定列表中删除所有重复项。

下面是以下给定代码的执行过程

Python string list remove duplicates

Python string list remove duplicates

如何从列表中删除重复的字符串

  • 还可以使用 Python 中的 dict.keys()方法从列表中删除重复项。这个方法将总是返回一个唯一的值。在 Python 中,字典不能包含重复的值,这就是为什么我们在这个例子中使用 dict.keys() 方法。
  • 方法将帮助用户从列表中删除重复的单词或字符。

语法:

下面是 dict.keys()方法的语法

dict.fromkeys(keys,value)

注意:这个方法由两个参数 key 和 value 组成。

举例:

string =['john','micheal','australia','micheal','germany','george','john']

remove_dupli = list(dict.fromkeys(string))
print(remove_dupli)

在上面的代码中,我们首先创建了一个名为‘string’的字符串,它以字符串的形式包含了不同国家的名称。现在使用 dict.fromkeys() 方法从“字符串”变量初始化一个字典,然后使用 list() 构造函数将 dict 转换成一个列表。

截图:

Python string list remove duplicates

Python string list remove duplicates

阅读如何在 python 中使用正则表达式拆分字符串

Python 字符串列表索引

  • 这里我们可以看到如何在 Python 中从包含字符串元素的列表中获取索引值。
  • 通过使用 list index() 方法,我们可以执行这项任务,这是 Python 中的一个内置函数,它从列表的开头开始查找元素。

语法:

下面是 list index()方法的语法

list.index(element, start, end)
  • 它由几个参数组成
    • element: 这个参数指定你要获取哪个元素的索引值。
    • Start: 可选参数,默认为 0。
    • End: 如果你想找到最后一个索引元素,那么你可以使用这个参数。

举例:

student_name = ['George', 'James', 'Potter', 'Oliva']

new_ind = student_name.index('James')
print(new_ind)

在上面的例子中,我们创建了一个包含字符串的列表‘student _ name’。现在我想获取‘詹姆士’的索引值,为此我们应用了 list.index() 方法并调用 print 语句来显示索引值。

下面是以下给定代码的执行过程

Python string list index

Python string list index

阅读 Python 元组字典

Python 字符串到元组列表

  • 让我们看看如何在 Python 中将字符串转换成元组列表。
  • iter()+split()+next() 的组合可以用来执行这个特定的任务。在这个例子中,我们使用包含可数元素的迭代器对象,并使用 next() 方法从集合中获取下一个元素。

源代码:

new_val_str = "Java is a core programming language"

new_out = iter(new_val_str.split())

lis_of_tup = [(new_element, next(new_out)) for new_element in new_out]
print(lis_of_tup)

下面是以下给定代码的输出

Python string to list of tuples

Python string to list of tuples

读取 Python 元组排序列表

Python 字符串到 json 列表

  • 这里我们可以看到如何通过在 Python 中导入 JSON 库将字符串转换成列表。
  • 在这个程序中,我们使用了 JSON.loads() 方法。在 Python 中,JSON.loads()方法将一个 JSON 字符串作为参数,它将返回 list-objects。

源代码:

import json

first_list1 = "[45,7,8,2,3,4]"
new_output = json.loads(first_list1)
print ("Convert string to list:", new_output)

Python string to list of json

Python string to list of JSON

阅读 Python 连接元组与示例

Python 字符串列表删除空格

  • 为了去除列表中的空白,我们可以对 for 循环应用 replace()和 append() 方法。
  • 在这个例子中,我们创建了一个列表 "new_lis" ,它包含字符串形式的元素。现在创建一个空列表,使用 for 循环方法迭代原始列表中的条目,然后使用 replace() 方法删除列表中的空白。

举例:

new_lis = ['John', '   ', 'James ', 'Micheal', '  ', 'George']

new_output = []
for val in new_lis:
    m = val.replace(' ', '')
    new_output.append(m)

print(new_output)

输出:

Python string to list remove spaces

Python string to list remove spaces

读取 Python 方块一号

Python 字符串列表到数据帧

  • 让我们看看如何使用 Python 中的 data frame将字符串转换成列表。为了完成这个任务,我们首先在其中导入一个熊猫库。
  • 在 Python 中,数据帧是行和列形式的数据结构。

下面是 CSV 文件的截图和代码

注意:这个代码是一个必须在 CSV 文件中使用的输入字符串

student_id|batch
23|"[batch3,batch8]"
24|"[batch7,batch18,batch78]"
19|"[batch65,batch34]"

Python string to list csv file

Python string to list CSV file

下面是字符串列表到数据帧的实现。

源代码:

import pandas as pd

df = pd.read_csv('test1.csv', sep='|')
print(df)

在上面的例子中,我们首先导入一个 pandas 库,然后创建一个变量‘df’,其中我们使用了‘read _ csv’函数将 CSV 文件导入到 dataframe 格式。在这个方法中,我们给分配了一个‘test . CSV’文件作为参数。

输出:

Python string list to dataframe

Python string list to dataframe

阅读 Python 打印无换行符

Python 字符串列表最大长度

  • 让我们看看如何用 Python 在字符串列表中找到最大长度。
  • 为了执行这个任务,我们可以使用内置的 max()函数,将 "len" 构造函数作为关键参数,这个方法返回最大值字符串。

源代码:

original_lis1 = ['Micheal', 'john', 'george', 'potter', 'james']

new_output = max(original_lis1, key = len)
print(new_output) 

下面是以下给定代码的执行过程

Python string list max length

Python string list max length

Python 字符串列表到字节数组

  • 要将一个字符串转换成一个字节数组,我们可以简单地将该字符串作为第一个输入,然后将编码 'utf-8' 作为第二个参数传递。
  • 在这个例子中,我们首先创建了一个字符串“count_str ”,然后创建了一个变量“new _ array”,在这个变量中我们有 stores bytes() 方法,并将 string 指定为一个参数。

源代码:

count_str = "Germany"

new_array = bytes(count_str, 'utf-8')

for new_byte in new_array:
    print("Convert string to byte:",new_byte)

下面是以下给定代码的实现

Python string list to byte array

Python string list to byte array

阅读 Python 命名约定

Python 字符串 vs 列表

  • 在 Python 中,列表可以存储任何数据类型,而字符串只能由字符组成。
  • 在 Python 中,list 可以通过方括号[]轻松声明,字符串是单引号或双引号内的字符序列。
  • 在一个列表中,数据可以用一个逗号(,)分隔,数据可以是整数、浮点数、和字符串。而字符串是不可变的数据类型。

举例:

让我们举个例子,看看 Python 中字符串和列表的主要区别

new_str = 'James' #create string

print("created string:",new_str)
my_new_list = [35,87,66] #create list

print("Created list:",my_new_list)

下面是以下给定代码的执行过程

Python string vs list

Python string vs list

您可能会喜欢以下 Python 教程:

在本 Python 教程中,您将了解到 Python 字符串列表。让我们看看如何将 Python 字符串转换为列表,我们还将介绍以下示例:

  • Python 字符串到字符列表
  • Python 字符串到列表的转换
  • 要用分隔符列出的 Python 字符串
  • 单词列表的 Python 字符串
  • Python 字符串到列表拆分
  • Python 字符串到整型列表
  • 要用空格列出的 Python 字符串
  • 用于换行符列表的 Python 字符串
  • 字典列表的 Python 字符串
  • Python 字符串到字符串列表
  • 通过分隔符列出的 Python 字符串
  • Python 字符串到浮点列表
  • Python 字符串到列表数组
  • Python 字符串无需拆分即可列出
  • Python 向列表元素添加字符串
  • Python 字符串列表提取子串
  • Python 字符串拆分为列表正则表达式
  • Python 字符串列表移除重复项
  • Python 字符串列表索引
  • Python 字符串到元组列表
  • json 列表的 Python 字符串
  • 用于列出移除空格的 Python 字符串
  • Python 字符串列表到数据帧
  • Python 字符串列表最大长度
  • Python 字符串列表到字节数组
  • Python 字符串与列表

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python 张量流 reduce_mean

原文:https://pythonguides.com/python-tensorflow-reduce_mean/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习如何在 Python 中使用 TensorFlow reduce_mean()。此外,我们将涵盖以下主题。

  • 带遮罩的张量流减少平均值
  • 张量流减少 _ 平均 nan
  • 张量流减少均方误差
  • 张量流减少意味着忽略零
  • 张量流减少 _ 平均数量
  • 张量流减少 _ 平均减少 _ 指数
  • 张量流减少意味着忽略 nan
  • 张量流 reduce_mean keepdims

目录

Python tensor flow reduce _ mean

  • 在本节中,我们将学习如何在 TensorFlow Python 中使用 tf.reduce_mean() 函数。
  • 为了执行这个特定的任务,我们将使用 tf.math.reduce_mean() 函数,这个函数在 TensorFlow 版本 2.x 中可用。
  • 在 Python TensorFlow 中, tf.math.reduce_mean() 函数用于计算输入张量各维值的平均值。

语法:

我们先来看看语法,了解一下 tf.math.reduce_mean() 函数的工作原理。

tf.math.reduce_mean
                   (
                    input_tensor,
                    axis=None,
                    keepdims=False,
                    name=None
                   )
  • 它由几个参数组成
    • input_tensor: 该参数表示我们想要减少的张量,它应该始终是一个数字类型。
    • 轴:默认情况下,它不取值,一旦您在函数中使用它,默认情况下所有维度都将减少。
    • keepdims: 该参数将检查条件,如果为真,则减少秩张量的长度。默认情况下,它采用假值。
    • 名称:可选参数,表示操作的名称。

举例:

让我们举一个例子,检查如何得到输入张量的平均值。

import tensorflow as tf

new_tensor = tf.constant([[13,69,55],
                         [245,78,94]])

new_result = tf.math.reduce_mean(new_tensor,1)
print("Sum of nan values:",new_result)

在上面的代码中,我们导入了 TensorFlow 库,然后使用 tf.constant() 函数创建了一个张量。之后,我们使用了 tf.math.reduce_mean() 函数,在这个函数中,我们指定了张量和轴=1 作为参数。

下面是下面给出的代码的截图。

Python TensorFlow reduce_mean

Python TensorFlow reduce_mean

正如你在截图中看到的,输出显示了张量的平均值。

另外,检查: TensorFlow Tensor to numpy

带遮罩的张量流减少 _ 平均

  • 在本节中,我们将讨论如何在 reduce_mean() 函数中使用 mast。
  • 为了完成这项任务,我们将使用 tf.boolean_mask() 函数,它用于计算张量的布尔掩码。该方法在 TensorFlow 包中可用。
  • 在这种方法中,遮罩形状必须与张量形状的第一个 K 维相匹配。

语法:

让我们看一下语法,理解一下 tf.boolean_mask() 函数的工作原理。

tf.boolean_mask
               (
                tensor,
                mask,
                axis=None,
                name='boolean_mask',
               )
  • 它由几个参数组成
    • 张量:该参数表示输入张量,可以是一个 n 维张量。
    • mask: 它是一个 K-D 布尔张量,它会设置条件 K < =N ,其中 K 必须静态表示。
    • 轴:默认情况下,它采用 none 值,并指定要屏蔽的张量轴。

举例:

import tensorflow as tf
import numpy as np

tens=[14,67,89,25]
new_mask=np.array([True,False,False,True])
result=tf.boolean_mask(tens, new_mask)
print("mask value:",result)
new_output=tf.math.reduce_mean(result)
print("Mean value of mask:",new_output)
  • 在上面的代码中,我们通过使用 np.array() 函数创建了一个掩码,并分配了布尔值。之后,我们使用了 tf.boolean_mask() 函数,在这个函数中,我们传递了张量和掩码作为参数。
  • 一旦执行了这个函数,输出将显示真实值以及相关的张量值。
  • 之后,我们使用了 tf.math.reduce_mean() 函数,并将‘结果’作为参数传递,它将返回掩码的平均值。

下面是以下给定代码的执行过程

Python TensorFlow reduce_mean with mask

Python TensorFlow reduce_mean with mask

阅读:张量流得到形状

张量流减少 _ 平均 nan

  • 这里我们将讨论如何在 TensorFlow Python 中使用 reduce_mean()函数来减少 nan 值。
  • 在这个例子中,我们将得到 nan 值的平均值。为了完成这项任务,我们首先将为 np.nan 值导入 numpy 库,然后我们将使用 tf.constant() 函数创建张量,在这个函数中,我们已经设置了 nan 值。在 Python 中,nan 代表‘不是数字’
  • 接下来,我们将声明一个变量‘new _ result’并指定 tf.math.reduce_mean() 函数,在此函数中,我们将输入张量和轴设置为参数。

举例:

 import tensorflow as tf
import numpy as np

new_tensor = tf.constant([[np.nan,np.nan,np.nan,15,76],
                         [np.nan,np.nan,np.nan,24,89]])

new_result = tf.math.reduce_mean(new_tensor,[0,1])
print("Sum of nan values:",new_result)

下面是以下给定代码的执行过程

Python TensorFlow reduce_mean nan

Python TensorFlow reduce_mean nan

正如您在屏幕截图中看到的,输出显示了 nan 值的平均值。

阅读: Python TensorFlow 随机均匀

张量流减少均方误差

  • 在本节中,我们将讨论如何在 TensorFlow Python 中使用均方误差函数。
  • 为了执行这个特定的任务,我们将使用TF . compat . v1 . losses . mean _ squared _ error()函数,该函数在 Tensorflow 包中可用。

语法:

下面是TF . compat . v1 . losses . mean _ squared _ error()函数的语法

tf.compat.v1.losses.mean_squared_error
                                      (
                                       labels,
                                       prediction,
                                       weights=1.0,
                                       scope=None,
                                      )
  • 它由几个参数组成
    • 标签:此参数表示函数内部的参数。
    • 预测:预测参数用于调用()方法。

举例:

import tensorflow as tf

y_true = tf.constant([[4.6, 7.3, 3.2],
                      [4.1,5.8,7.2]])
y_pred = tf.constant([[2.4, 4.6, 9.7],
                      [1.2,2.3,1.6]])

result=tf.compat.v1.losses.mean_squared_error(y_true,y_pred)
print("Reduce mean squared error:",result)

在下面给出的代码中,我们通过使用 tf.constant() 函数创建了一个张量,然后我们使用了TF . compat . v1 . losses . mean _ squared _ error()函数,在这个函数中,我们将标签和预测作为一个参数进行分配。

下面是以下给定代码的实现。

TensorFlow reduce mean squared error in Python

TensorFlow reduce mean squared error in Python

阅读:模块“张量流”没有属性“会话”

张量流减少意味着忽略零

  • 在本节中,我们将学习如何通过使用 Python 中的 reduce_mean() 函数来忽略张量中的零值。
  • 为了完成这项任务,我们将使用 tf.cast() 函数,该函数用于将输入张量转换为新类型。在该函数中,我们将设置条件 new_tensor!=0 以及数据类型。
  • 接下来,我们将使用 tf.reduce_sum() 函数,并将其除以张量,它将忽略张量中的零值。

语法:

下面是 tf.cast() 函数的语法。

tf.cast
       (
        x,
        dtype,
        name=None
       )
  • 它由几个参数组成
    • x: 该参数表示输入张量。
    • name: 这是一个可选参数,默认情况下不取值。

举例:

 import tensorflow as tf

new_tensor= tf.constant([[2,0,3],[12,34,0],[0,23,31]])
m = tf.cast(new_tensor != 0,tf.int32)
z = tf.reduce_sum(new_tensor, -1) / tf.reduce_sum(m, -1)
print(z)

下面是以下代码的截图

TensorFlow reduce mean ignore zero in Python

TensorFlow reduce mean ignore zero in Python

阅读:导入错误没有名为 TensorFlow 的模块

张量流减少 _ 平均数值

  • 在这个程序中,我们将学习如何在 tf.reduce_mean() 函数中实现 numpy 兼容性。
  • 为了执行这个特定的任务,我们将使用 tf.reduce_mean() 函数,在这个函数中,我们将张量指定为一个参数。
  • 它用于指定输出类型,默认情况下,它采用 float32

举例:

import tensorflow as tf

tensor = tf.constant([12, 13.5, 1, 1.5])
tf.reduce_mean(tensor)

下面是以下给定代码的执行。

Python TensorFlow reduce_mean numpy

Python TensorFlow reduce_mean numpy

正如您在屏幕截图中看到的,输出以 NumPy 为单位显示平均值。

阅读: Python TensorFlow one_hot

张量流减少 _ 平均减少 _ 指数

  • 在本节中,我们将讨论如何在 tf.reduce_mean() 函数中使用 reduction _ indices 参数。
  • 为了执行这个特定的任务,我们将使用TF . compat . v1 . reduce _ mean()函数,这个方法将帮助用户计算输入张量的各个维度的平均值。

语法:

我们先来看看语法,了解一下TF . compat . v1 . reduce _ mean()函数的工作原理。

tf.compat.v1.reduce_mean
                        (
                         input_tensor,
                         axis=None,
                         keepdims=None,
                         name=None,
                         reduction_indices=None,
                         keep_dims=None
                        )

举例:

import tensorflow as tf

tensor = tf.constant([14, 15.5, 12, 17.5])
z=tf.compat.v1.reduce_mean(tensor, reduction_indices=[0])
print(z)

在上面的代码中,我们导入了 TensorFlow 库,然后使用 tf.constant() 函数创建了张量。

之后,我们使用了TF . compat . v1 . reduce _ mean()函数,并在该函数中使用了reduction _ indexes[0]参数。

你可以参考下面的截图

Python TensorFlow reduce_mean reduction_indices

Python TensorFlow reduce_mean reduction_indices

阅读: Python TensorFlow 占位符

张量流减少意味着忽略 nan

  • 在本节中,我们将讨论如何在 Python TensorFlow 中使用 reduce_mean() 函数来忽略 nan 值。
  • 为了完成这个任务,我们将使用 tf.where 函数和 tf.math.is_nan() ,这个函数将帮助用户从张量中删除 nan 值。
  • 移除张量后,我们将使用 tf.reduce_mean() 函数来计算更新后的张量的平均值。

语法:

下面是 tf.math.is_nan() 函数的语法

tf.math.is_nan
              (
               x,
               name=None,
              )

举例:

我们举个例子,了解一下工作的 tf.math.is_nan() 函数。

源代码:

import tensorflow as tf
import numpy as np

tens1 = tf.constant([[16, 67], [24, np.nan]])
tens2 = tf.constant([[np.nan, np.nan], [np.nan, 56]])

c = tf.where(tf.math.is_nan(tens1), tens2, tens1)
result=tf.reduce_mean(c)
print(result)

下面是以下给定代码的执行过程

Python TensorFlow reduce mean ignore nan

Python TensorFlow reduce mean ignore nan

阅读:张量流自定义损失函数

tensor flow reduce _ mean keepdims

  • 在本期节目中,我们将讨论如何在 reduce_mean() 函数中使用 keepdims 参数。
  • 在此函数中,keepdims 参数将检查条件,如果值为真,则输入张量的秩将减少 1 ,默认情况下,它将取一个假值。

语法:

下面是 tf.math.reduce_mean() 函数的语法

tf.math.reduce_mean
                   (
                    input_tensor,
                    axis=None,
                    keepdims=False,
                    name=None
                   )

举例:

import tensorflow as tf

new_tensor = tf.constant([[67,145,267],
                         [18,29,31]])

new_result = tf.math.reduce_mean(new_tensor,1,keepdims=False)
print("Sum of nan values with keepdims axis:",new_result)

在下面给出的代码中,我们首先导入了 TensorFlow 库,然后为了创建张量,我们使用了 tf.constant() 函数。之后,我们使用了 tf.math.reduce_mean() 函数,并在函数中设置了张量、轴和 keepdims=False 作为参数。

下面是以下给定代码的实现

Python TensorFlow reduce_mean keepdims

Python TensorFlow reduce_mean keepdims

您可能也喜欢阅读以下 Python TensorFlow 教程。

所以,在这个 Python 教程中,我们学习了如何在 Python 中使用 TensorFlow reduce_mean()。此外,我们还讨论了以下主题。

  • TensorFlow reduce_mean pytorch
  • 带遮罩的张量流减少平均值
  • 张量流减少 _ 平均 nan
  • 张量流减少均方误差
  • 张量流减少平均层
  • 张量流减少意味着忽略零
  • 张量流减少 _ 平均数量
  • 张量流减少 _ 平均减少 _ 指数
  • 张量流减少意味着忽略 nan
  • 张量流 reduce_mean keepdims

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python TensorFlow reduce_sum

原文:https://pythonguides.com/python-tensorflow-reduce_sum/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习如何在 Python 中使用 TensorFlow reduce_sum()。此外,我们将涵盖以下主题。

  • 张量流 reduce_sum keepdims
  • 张量流 reduce_sum vs sum
  • 张量流 reduce_sum 轴=-1
  • 张量流减少计数布尔值
  • 张量流减少 _ 总和 nan
  • 张量流 reduce_sum 函数
  • 张量流 reduce_sum 列表
  • 张量流加权归约和
  • 张量流 reduce_mean vs reduce_sum

目录

Python tensor flow reduce _ sum

  • 在本节中,我们将学习如何在 TensorFlow Python 中找到一个张量的和。
  • 为了执行这个特定的任务,我们将使用 tf.math.reduce_sum() 函数。
  • 在 Python 中,该函数用于使张量维度上的所有元素之和相等。

语法:

我们先来看看语法,了解一下 tf.math.reduce_sum() 函数的工作原理。

tf.math.reduce_sum
                  (
                   input_tensor,
                   axis=None,
                   Keepdims=False,
                   name=None
                  )
  • 它由几个参数组成
    • input_tensor: 该参数表示我们想要减少的张量,它应该始终是一个数字类型。
    • 轴:默认情况下,它不取任何值,如果张量中没有值,它会减少所有维度。
    • keepdims: 该参数将检查条件,如果为真,则减少秩张量的长度。默认情况下,它采用假值。
    • 名称:可选参数,表示操作的名称。

举例:

让我们举个例子,看看如何在 TensorFlow Python 中求一个张量的和

源代码:

import tensorflow as tf

new_tensor = tf.constant([67, 89, 24, 56])
new_output = tf.math.reduce_sum(new_tensor)
print("Sum of tensor:",new_output)

在上面的代码中,我们首先导入了 TensorFlow 库,然后声明了名为‘new _ tensor’的输入张量。在我们使用了 tf.math.reduce() 函数之后,在这个函数中,我们将给定的张量指定为自变量。

一旦执行了这段代码,输出将显示张量中所有元素的总和。

下面是下面给出的代码的截图。

Python TensorFlow reduce_sum

Python TensorFlow reduce_sum

阅读: TensorFlow Tensor to numpy

tensor flow reduce _ sum keepdims

  • 在本节中,我们将学习如何在 tf.reduce_sum() 函数中使用 keepdims 参数。
  • 通过使用 tf.math.reduce_sum() 函数,我们可以轻松地执行这个特定的任务。首先,我们将导入 TensorFlow 库,然后我们将使用 tf.constant() 函数创建一个张量。
  • 接下来,我们将声明一个变量‘new _ output’,并使用 tf.math.reduce_sum() 函数。在这个函数中,我们将使用张量和 keepdims=True 作为参数。

语法:

下面是 tf.math.reduce_sum() 函数的语法。

tf.math.reduce_sum
                  (
                   input_tensor,
                   axis=None,
                   Keepdims=True,
                   name=None
                  )

注意:在这个函数中,如果 keepdims 参数为真,那么张量的秩减少 1

示例:

import tensorflow as tf

new_tensor = tf.constant([[67, 89, 24, 56],
                         [86,34,18,89]])
new_tensor.numpy()
new_output = tf.math.reduce_sum(new_tensor,0, keepdims=True).numpy()
print("Sum of tensor:",new_output)

下面是以下给定代码的执行。

Python TensorFlow reduce_sum keepdims

Python TensorFlow reduce_sum keepdims

阅读:张量流得到形状

张量流 reduce_sum vs sum

  • 在本节中,我们将了解 TensorFlow Python 中 reduce_sum 和 sum 的区别。
  • 在这个例子中,我们将看到 reduce_sum()numpy.sum() 函数之间的主要区别。在 Python 中,numpy.sum()函数用于计算给定数组中所有元素的总和。
  • 而在 reduce_sum() 函数的情况下,它将帮助用户计算张量维度上所有元素的和。
  • 在 Python 中, numpy.sum() 函数在 numpy 包模块中可用,如果提供了轴,那么它将返回所有元素和轴的总和。而在 reduce_sum() 函数的情况下,它将沿着轴减少输入张量。

语法:

下面是 Python numpy.sum() 函数的语法。

numpy.sum
         (
          a,
          axis=None,
          dtype=None,
          out=None,
          keepdims=<no value>,
          initial=<no value>,
          where=<no value>
         )

举例:

我们举个例子,检查一下 Python reduce_sum()和 sum()函数的区别。

源代码:

import tensorflow as tf

new_tensor = tf.constant([[178, 98, 23, 198],
                         [289,945,435,190]])
new_tensor.numpy()
new_output = tf.math.reduce_sum(new_tensor,0, keepdims=True).numpy()
print("Sum of tensor:",new_output)

# sum() function
import numpy as np
new_arr=np.array([[178, 98, 23, 198],
                  [289,945,435,190]])
new_result=np.sum(new_arr,axis=0)
print("Sum of array:",new_result)

在上面的代码中,我们首先使用 tf.math.reduce() 函数导入了 TensorFlow 库,然后使用 tf.constant() 函数声明了一个张量。创建张量后,我们使用了 tf.math.reduce() 函数,并将张量 axis,keedims=True 指定为参数。

接下来,我们通过使用NP . array()函数创建了一个数组,然后使用 np.sum() 函数并传递一个数组作为参数。一旦执行了这段代码,输出将显示所有元素的总和。

下面是以下给定代码的实现。

TensorFlow reduce_sum vs sum

TensorFlow reduce_sum vs sum

另外,检查:模块“TensorFlow”没有属性“session”

tensor flow reduce _ sum axis =-1

  • 在这里我们将看到如何在 Python tensor flowreduce _ sum()函数中使用 axis=-1
  • 为了执行这个特定的任务,我们将使用 TensorFlow 函数 tf.math.reduce_sum() 。在这个函数中,我们将设置 th e 轴=-1 以及输入张量,这将减少第二个维度。
  • 在 Python 中,轴指定了张量的维数,一个 d -1 表示最后一个轴。

举例:

import tensorflow as tf

new_tensor = tf.constant([[34, 45, 89, 178],
                         [134,456,976,234]])

new_result = tf.math.reduce_sum(new_tensor,-1)
print("Sum of tensor:",new_result)

在下面给出的代码中,我们首先导入了 TensorFlow 库,然后使用 tf.constant() 函数创建了一个张量‘new _ tensor’。之后,我们使用了 tf.math.reduce_sum() 函数,在这个函数中,我们指定了张量和 axis=-1 作为参数。

下面是以下给定代码的输出。

TensorFlow reduce_sum axis-1

TensorFlow reduce_sum axis-1

阅读:Python tensor flow reduce _ mean

张量流减少计数布尔型

  • 在本节中,我们将学习如何计算 Python TensorFlow reduce_sum()函数中的布尔值。
  • 为了完成这个任务,我们将使用TF . math . count _ 非零()函数。在 Python TensorFlow 中的 tf。math.count _ 非零()函数用于计算输入张量各维中的非零元素。假设您有一个包含零和非零元素的输入张量。
  • 在这个例子中,我们只指定了 true 和 false (布尔)值,然后这个函数将帮助用户计算给定张量中可用的非零元素。

语法:

我们先来看看语法,了解一下TF . math . count _ 非零()函数的工作原理。

tf.math.count_nonzero
                     (
                      input,
                      axis=None,
                      keepdims=None,
                      dtype=tf.dtypes.int64,
                      name=None,
                     )
  • 它由几个参数组成
    • 输入:该参数表示需要约简的张量,通常为布尔型、数值型和字符串型。
    • 轴:默认取 none 值,指定减少所有尺寸。
    • keepdims: 这是一个可选参数,如果为真,那么它将减少长度为 1 的维度。
    • dtype: 默认取 tf.dtypes.int64 数据类型,表示 dtype 的输出。

举例:

让我们举一个例子,检查如何在 Python TensorFlow 中计算布尔值

源代码:

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tensor = tf.constant([[True, True], [False, True]])
with tf.compat.v1.Session() as val:
    result = tf.math.count_nonzero(new_tensor)
    new_output=val.run(result)
    print(new_output)

在上面的代码中,我们创建了一个张量,然后使用了 tf.compat.v1.session() 函数来运行会话。之后,我们使用了TF . math . count _ 非零()函数,并将输入张量指定为参数。一旦执行了这段代码,输出将显示真值的计数。

下面是下面给出的代码的截图。

Python TensorFlow reduce count boolean

Python TensorFlow reduce count boolean

读取张量流乘法

检查 Tensorflow 中布尔和的另一个例子

在这个例子中,我们通过使用 tf.constant() 函数创建了一个张量,并分配了布尔值。接下来,我们使用了 tf.reduce_any() 函数,它将只返回真值。

语法:

下面是 tf.reduce_any() 函数的语法。

tf.math.reduce_any
                  (
                   input_tensor,
                   axis=None,
                   keepdims=False,
                   name=None
                  )

举例:

import tensorflow as tf

new_tensor = tf.constant([[True,True],
                         [False,True]])

new_result = tf.reduce_any(new_tensor,1)
print("Boolean value of Tensor:",new_result)

下面是以下给定代码的执行。

TensorFlow reduce count boolean

TensorFlow reduce count boolean

阅读: Python TensorFlow 随机均匀

张量流 reduce_sum nan

  • 在本节中,我们将学习如何使用 Python TensorFlow 中的 tf.math.reduce_sum() 函数来减少 nan 值。
  • 首先,我们将使用 tf.constant() 函数创建一个张量,在这个张量中,我们将分配 nan 个值,然后使用 t f.math.reduce_sum() 函数和轴=1 减少这些值。

举例:

import tensorflow as tf
import numpy as np
new_tensor = tf.constant([[np.nan,np.nan],
                         [np.nan,np.nan]])

new_result = tf.math.reduce_sum(new_tensor,1)
print("Sum of nan values:",new_result)

下面是以下给定代码的实现

Python TensorFlow reduce_sum nan

Python TensorFlow reduce_sum nan

阅读:Python tensor flow expand _ dims

张量流 reduce_sum 函数

  • 在本节中,我们将学习如何在 Python TensorFlow 中使用 reduce_sum 函数。
  • 通过使用 tf.math.reduce_sum() 函数,我们可以轻松地对张量中可用的所有元素求和。为了在 TensorFlow 中创建一个张量,我们将使用 t f.contstant() 函数。

语法:

下面是 tf.math.reduce_sum() 函数的语法

tf.math.reduce_sum
                  (
                   input_tensor,
                   axis=None,
                   Keepdims=False,
                   name=None
                  )

举例:

让我们举个例子,了解一下 tf.math.reduce_sum() 函数的工作原理

源代码:

import tensorflow as tf

tensor1 = tf.constant([[56,78,34,67],
                         [88,45,38,145]])

new_output = tf.math.reduce_sum(tensor1,[0,1],keepdims=True)
print(new_output)

在下面给出的代码中,我们使用了 tf.math.reduce_sum() 函数,并在该函数中设置了轴 [0,1]keepsdims=True 作为参数。

你可以参考下面的截图

TensorFlow reduce_sum function in Python

TensorFlow reduce_sum function in Python

阅读: Python TensorFlow 占位符

张量流加权归约和

  • 在这个程序中,我们将学习如何在 Python TensorFlow 中找到张量的加权和。
  • 在这个例子中,我们将使用 tf.constant() 函数创建两个张量‘tens 1’‘tens 2’。接下来,我们将定义函数‘apply _ weight’并传递输入张量。

举例:

import tensorflow as tf
tens1 = tf.constant([13.0, 17.0, 14.0])
tens2 = tf.constant([[[24.0, 15.0],[45.0, 36.0],[15.0, 26.0]],
                 [[44.0, 13.0],[66.0, 69.0],[16.0, 23.0]]]
)

def apply_weight(tens2, tens1): 
    return tf.map_fn(mult, tens2)

def mult(l):
    result = tf.transpose(l)
    return tf.map_fn(mult_pars, result)

def mult_pars(m): 
    return tf.reduce_sum(tens1 * m) / tf.reduce_sum(tens1)

print(apply_weight(tens2,tens1))

下面是以下代码的截图

TensorFlow weighted reduce sum in Python

TensorFlow weighted reduce sum in Python

阅读: TensorFlow 获取变量+示例

tensor flow reduce _ mean vs reduce _ sum

  • 这里我们要讨论的是 Python TensorFlow 中 reduce_mean()和 reduce_sum() 函数的区别。
  • 在 TensorFlow 中, reduce_mean() 函数用于计算张量各维度的平均值。而在 th e reduce_sum() 函数的情况下,它将帮助用户计算输入张量的维度上的值的和。

语法:

下面是 TensorFlow reduce_mean() 函数的语法

tf.math.reduce_mean
                   (
                    input_tensor,
                    axis=None,
                    keepdims=False,
                    name=None
                   )

举例:

我们举个例子,检查一下 tf.reduce_mean()tf.reduce_sum() 函数的区别

源代码:

import tensorflow as tf

new_tens=tf.constant([[23,45,11],
                      [67,89,12]])
new_result=tf.reduce_mean(new_tens)
print(new_result)
#sum of all elements
new_result2=tf.reduce_sum(new_tens)
print(new_result2)

下面是以下给定代码的实现

TensorFlow reduce_mean vs reduce_sum in Python

TensorFlow reduce_mean vs reduce_sum in Python

你可能也喜欢阅读下面的 Python TensorFlow 教程。

在本 Python 教程中,我们学习了如何在 Python 中使用 TensorFlow reduce_sum()。此外,我们还讨论了以下主题。

  • 张量流 reduce_sum keepdims
  • 张量流 reduce_sum vs sum
  • 张量流 reduce_sum 轴=-1
  • 张量流归约和布尔值
  • 张量流减少 _ 总和 nan
  • 张量流 reduce_sum 函数
  • 张量流 reduce_sum 列表
  • 张量流加权归约和
  • 张量流 reduce_mean vs reduce_sum

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python 线程和多线程

原文:https://pythonguides.com/python-threading-and-multithreading/

Python & Machine Learning training courses

在本 python 教程中,我们将讨论 python 线程和多线程。我们还将检查:

  • 什么是线程?
  • 什么是线程?
  • 使用类创建 Python 线程
  • Python 线程锁
  • 使用队列的线程
  • Python 多线程使用函数创建
  • 多线程中的同步
  • Python 线程池
  • 多线程与多处理
  • 线程与多线程

目录

什么是线程?

线程是操作系统中调度的最小单元,它可以同时执行多任务。当任务需要一些时间来执行时,在这种情况下使用 python 线程。

Python 线程介绍

  • 线程化是同时运行多个线程的过程。
  • 线程模块包括一种简单的方法来实现用于同步线程的锁定机制。

在这个例子中,我导入了一个名为线程和时间的模块。同样,我们将定义一个函数 Evennum 为defeven num()。我们使用了 for 循环和 range()函数,还使用了 sleep()来等待执行当前线程给定的秒数。

示例:

import threading
import time

def Evennum():
    for i in range(2, 10, 2):
        time.sleep(1)
        print(i)

threading.Thread(target=Evennum).start()

下面的截图显示了从 2 到 10 的偶数。

Python Threading

Python Threading

阅读如何在 Python Pygame 中把屏幕放在特定位置

使用类创建 Python 线程

在这里,我们可以看到如何使用 python 中的类创建线程。

创建线程类的语法:

Thread(group=None, target=None, name=None, args=(), kwargs={})

要使用 python 中的类创建线程,有一些类方法:

  • run()–这个方法调用传递给对象构造函数的目标函数。

  • start()–线程活动通过调用 start()方法启动,当我们调用 start()时,它在内部调用 run 方法并执行目标对象。

  • join([time out])—该方法阻塞调用线程,直到被调用 join()的线程正常终止或通过句柄异常终止。

  • getName()–该方法返回线程的名称。

  • set name(name)–该方法用于设置线程名称,该名称以字符串的形式出现,用于识别。

  • is alive()–该方法返回线程是否活动。在调用 start()时,线程是活动的,并且一直持续到 run()终止。

  • set daemon(Daemonic)–该方法用于将守护进程标志设置为布尔值 Daemonic。这应该在开始()之前调用。

  • isDaemon()–该方法返回线程守护标志的值。

  • 在这个例子中,我从线程中导入了一个名为 thread 的模块,并将一个函数定义为一个线程函数,并传递了一个参数。

  • name 属性的值被设置为“_ _ main _ _”。当模块作为程序运行时。name 是决定当前模块名称的内置变量。

  • 如果模块直接从命令行运行,那么 "__name__" 被设置为 "__main__"

示例:

from threading import Thread 
def threaded_function(arg): 
    for i in range(arg): 
        print("python guides")
if __name__ == "__main__": 
    thread = Thread(target = threaded_function, args = (3, )) 
    thread.start() 
    thread.join() 
    print("Thread Exiting...") 

你可以在下面的截图中看到,在范围()中提到的 python 指南打印了三次

Python thread creating using class

Python thread creating using class

Python 线程锁

线程模块有一个叫做 lock 的同步工具。锁类有两种方法:

  • acquire() :这个方法锁定锁并阻塞执行,直到它被释放。
  • release() :该方法用于释放锁。此方法仅在锁定状态下调用。
  • 在这个例子中,我从线程中导入了名为 Lock 的**, lock = Lock() 用于声明一个锁,并定义了函数来将值乘为 def multiply_one()。**
  • lock.acquire() 用于在状态解锁时锁定,并立即返回。
  • lock.release() 用于解锁状态,仅在状态锁定时调用。
  • threads . append(Thread(target = func))用于用目标函数实例化它。
  • 线程[-1]。start() 用于调用 start,【打印(a)】给出最终值。

示例:

from threading import Lock, Thread
lock = Lock()
a = 1

def multiply_one():

   global a
   lock.acquire()
   a *= 4
   lock.release()

def multiply_two():
   global a
   lock.acquire()
   a *= 6
   lock.release()

threads = []
for func in [multiply_one, multiply_two]:
   threads.append(Thread(target=func))
   threads[-1].start()

for thread in threads:

   thread.join()

print(a)

你可以参考下面的截图来看看倍增的价值。

Python threading lock

Python threading lock

使用队列的线程

  • 在这个例子中,我导入了名为队列和线程的模块。函数 employee 被用作 def employee()
  • 调用无限循环(如果为真)以使线程准备好接受所有任务。
  • 然后将 queue 定义为 project = q.get()。
  • task_done() 告知队列任务处理完成。当项目被放入队列时任务完成被调用。
  • 穿线线程(target=employee,daemon=True)。start() 用于启动员工线程。
  • 在范围(5)内的时间表示向员工发送 5 个任务。
  • 加入块,直到所有任务完成。

示例:

import threading, queue
q = queue.Queue()
def employee():
    while True:
        project = q.get()
        print(f'working on {project}')
        print(f'done{project}')
        q.task_done()
threading.Thread(target=employee, daemon=True).start()
for project in range(5):
    q.put(project)
print('project requests sent\n', end='')
q.join()
print('projects completed')

你可以参考下面的截图来查看所有 5 个任务的输出。

Threads using queue

Threads using queue

Python 中什么是多线程?

并行执行多个线程的过程。多线程通过多任务最大限度地利用 CPU 的。Web 浏览器和 Web 服务器都是多线程的应用。

使用函数创建 Python 多线程

  • 在这个例子中,我导入了线程,定义了一个函数,并执行了算术运算。
  • format() 返回格式化的字符串。 t1.start() 启动线程。 t1.join() 执行主线程,直到另一个线程完成。
  • name 属性的值被设置为“_ _ main _ _”。当模块作为程序运行时。name 是决定当前模块名称的内置变量。
  • 如果模块直接从命令行运行,那么 "__name__" 被设置为 "__main__"

示例:

import threading 
def multiplication(num): 
    print("Multiplication: {}".format(num * num)) 
def addition(num): 
    print("Addition: {}".format(num + num)) 
def division(num):
    print("Division: {}".format(num / num))
def substraction(num):
    print("substraction: {}".format(num - num))
if __name__ == "__main__":  
    t1 = threading.Thread(target=multiplication, args=(20,)) 
    t2 = threading.Thread(target=addition, args=(5,))  
    t3 = threading.Thread(target=division, args=(100,))
    t4 = threading.Thread(target=substraction, args=(3,))
    t1.start()  
    t2.start() 
    t3.start()
    t4.start()
    t1.join() 
    t2.join()
    t3.join()
    t4.join()

你可以参考下面的截图来检查算术运算。

Python thread creating using functions

Python thread creating using functions

多线程中的同步

线程同步通过确保一次访问一个线程来保护共享资源。它还保护免受竞争条件的影响。

什么是竞态条件?

多个线程同时访问共享资源。所有线程竞相完成任务,最后,它将以不一致的数据结束。为了结束这种竞争状态,使用了同步方法。

  • 这里,我们必须创建一个共享资源。共享资源为任何给定的数字生成乘法表。
  • 在这个例子中,我导入了一个名为线程的模块,定义了类乘法,并定义了一个函数 Mul 为 def Mul
  • 然后我使用了范围(1,6)中的循环,然后使用了 print(num,' X ',I,' = ',num*i) 。这里 num 是你给的数字,‘X’是乘法符号,I 是给定的范围。
  • 然后定义了另一个类为 MyThread ,定义了一个构造函数为 def__init__(self,tableobj,num)。在构造函数中,我定义了一个超类构造函数。
  • 为了在这个线程中包含共享资源,我们需要一个对象,并使用 tableobj 作为参数,使用另一个参数作为 num
  • 再次使用 def run(self) 定义运行功能。
  • 使用 threadlock=Lock() 创建线程锁。
  • 这个锁应该在访问共享资源之前创建,在访问共享资源之后,我们必须使用 threadlock.release() 来释放。
  • 为了得到输出,使用了 self.tableobj.Mul(self.num)
  • 使用table obj = Multiplication()创建共享资源对象。
  • 使用 t1=MyThread(tableobj,2) 创建两个线程,然后传递参数 tableobj 和一个数字。
  • 之后,我们必须使用 t1.start() 来启动线程。

示例:

from threading import *
class Multiplication:
    def Mul(self,num):
        for i in range(1,6):
            print(num,'X',i,'=',num*i)
class MyThread(Thread):
    def __init__(self,tableobj,num):
        Thread.__init__(self)
        self.tableobj=tableobj
        self.num=num
    def run(self):
        threadlock.acquire()
        self.tableobj.Mul(self.num)
        threadlock.release()
threadlock=Lock()
tableobj=Multiplication()
t1=MyThread(tableobj,2)
t2=MyThread(tableobj,3)
t1.start()
t2.start()

在这里,在下面的截图中,我们可以看到乘法表的数字 2 和 3。

Synchronization in Multithreading

Synchronization in Multithreading

你可以参考下面的截图,查看数据的不正确排列。

  • 在这个输出中,我们可以看到数据排列不当。这是由于竞态条件。为了克服竞争情况,使用同步。
  • 有时我们可能得到正确的数据,但很多时候我们会得到不正确的数据排列。
  • 所以,最好使用同步方法(锁类)。

Synchronization in Multithreading

Synchronization in Multithreading

Python 线程池

  • 线程池是一组等待作业的工作线程。
  • 在线程池中,创建一组固定大小的线程。
  • 服务提供者从线程池中拉出线程,并将任务分配给线程。
  • 完成任务后,一个线程被返回到线程池。
  • 线程池的优点是线程池重用线程来执行任务,任务完成后线程不会被破坏。它被返回到线程池中。
  • Threadpool 具有更好的性能,因为不需要创建线程。
  • 在这个例子中,我导入了一个名为 concurrent.futures 的模块。这个模块提供了一个使用线程池处理任务的接口。
  • 还导入了用于处理阵列的 NumPy 模块。
  • 时间模块处理与时间相关的各种功能。
  • ThreadPoolExecutor 是一个 Executor 子类,它使用线程池来执行调用。通过使用 ThreadPoolExecutor,已经创建了 2 个线程。
  • 然后任务由函数以一个参数的形式作为一个数字给出,等待 2 秒来执行函数并显示结果。
  • 当任务完成时, done() 返回一个真值
  • submit() 方法是 executor 的子接口。submit()接受可运行和可调用的任务。

示例:

import concurrent.futures
import numpy as np
from time import sleep
numbers = [1,2,3,]
def number(numbers):
    sleep(2)
print(numbers)
with concurrent.futures.ThreadPoolExecutor(max_workers = 2) as executor:
    thread1 = executor.submit(number, (numbers))
print("Thread 1 executed ? :",thread1.done())

在下面的截图中,我们可以看到 done() 在完成任务后返回 true 值。

Python thread pool

Python thread pool

多线程 vs 多重处理

| 多线程 | 多重处理 |
| 多线程允许一个进程包含许多线程。 | 多重处理是包含两个或更多处理器的系统。 |
| 它用于在单个进程中创建线程。 | 它是用来增加计算能力的。 |
| 作业处理在更短的时间内完成。 | 工作流程在中等时间内完成 |
| 过程的创建是缓慢的。 | 线程的创建速度更快。 |

Multithreading vs Multiprocessing

线程 vs 多线程

| 线程 | 多线程 |
| 线程是可以同时执行多任务的最小单位。 | 并行执行多个线程的过程。 |
| 线程在进程中执行。 | 多线程有许多线程在共享地址空间中执行。 |
| 使用单个线程来执行任务。 | 使用多个线程来执行任务。 |

Thread vs Multithread

您可能会喜欢以下 Python 教程:

在本 Python 教程中,我们学习了 Python 线程和多线程。此外,我们还讨论了以下主题:

  • 什么是线程?
  • 什么是多线程?
  • 使用类创建 Python 线程
  • Python 线程锁
  • 使用队列的线程
  • Python 多线程使用函数创建
  • 多线程中的同步
  • Python 线程池
  • 多线程与多处理
  • 线程与多线程

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter add 函数示例

原文:https://pythonguides.com/python-tkinter-add-function/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习关于 Python Tkinter add 函数的一切,如何在 Python Tkinter 中使用 add 函数,我们还将涵盖与 add 函数相关的不同示例。我们将讨论这些话题。

  • python tkinter add image(python tkinter add 映像)
  • Python Tkinter 添加两个数
  • Python Tkinter 添加标签
  • Python Tkinter 添加文本框
  • Python Tkinter 添加菜单栏
  • Python Tkinter 向条目添加文本
  • Python Tkinter 向框架网格添加滚动条
  • Python Tkinter 添加图标

如果您是 Python Tkinter 的新手,请查看 Python GUI 编程

目录

Python Tkinter 添加函数

让我们来看看,如何在 Python Tkinter 中使用 add 函数。我们将看到,我们如何使用图像,两个数字,文本框等添加功能。

Python Tkinter 添加图片

在本节中,我们将学习如何在 Python Tkinter 中添加图像。

我们想在窗口屏幕上添加一个图像。我们创建一个想要添加图像的窗口。我们从对话框中添加图像。选择图像并打开它。所选图像将添加到窗口中。

代码:

在下面的代码中,我们创建了一个窗口 ws=Tk() 在这个窗口中,我们添加了一个按钮,它的功能就像一个事件,帮助我们选择一个想要添加到框中的图像。

  • 图像。open() 用于在窗口上打开一幅图像。
  • file dialog . askopenfilename()此处用于询问从我们的本地系统位置打开我们想要打开的文件名。
  • I mage.resize() 帮助将图像调整到定义的像素大小。
from tkinter import *
from PIL import ImageTk, Image
from tkinter import filedialog
import os

ws = Tk()
ws.title("Python Guides")
ws.geometry("550x300+300+150")
ws.resizable(width=True, height=True)

def openfun():
    filename = filedialog.askopenfilename(title='open')
    return filename
def open_img():
    a = openfun()
    imag = Image.open(a)
    imag = imag.resize((250, 250), Image.ANTIALIAS)
    imag = ImageTk.PhotoImage(imag)
    label = Label(ws, image=imag)
    label.image = imag
    label.pack()

button = Button(ws, text='Add Image', command=open_img).pack()

ws.mainloop() 

输出:

在下面的输出中,我们可以看到一个标签为 Add Image 的按钮,它的功能是选择图像的路径并在框中输入。

Python tkinter add image

Python Tkinter add image Output

如前所述,当点击添加图像按钮时,它的功能是如何工作的。它从路径上询问我们想要在窗口中添加或打开哪个图像。

以这种方式选择图像后,它会显示在窗口上,我们的图像会添加到窗口中。

Add image in Python Tkinter

Add image in Python Tkinter

阅读如何在 Python Tkinter 中设置背景为图像

Python Tkinter 加两个数

在本节中,我们将学习如何在 Python Tkinter 中将两个数相加。

加法是取两个或两个以上的数,把它们加在一起。把这些数字相加后,我们得到结果。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们添加了标签、条目和按钮。用户在输入框中输入,结果显示为用户所给数字的相加。

Label() 函数用于实现显示框,我们可以在其中放置文本或图像。

entry() 小部件用于接受单个文本。

from tkinter import *

def addnumber():
    res1=int(entry1.get())+int(entry2.get())
    mytext.set(res1)

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")
mytext=StringVar()
Label(ws, text="First").grid(row=0, sticky=W)
Label(ws, text="Second").grid(row=1, sticky=W)
Label(ws, text="Result:").grid(row=3, sticky=W)
result=Label(ws, text="", textvariable=mytext).grid(row=3,column=1, sticky=W)

entry1 = Entry(ws)
entry2 = Entry(ws)

entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)

button = Button(ws, text="Calculate", command=addnumber)
button.grid(row=0, column=2,columnspan=2, rowspan=2,sticky=W+E+N+S, padx=5, pady=5)

ws.mainloop()

输出:

运行上述代码后,我们得到以下输出,我们看到一个窗口,窗口内有一个输入框,它从用户那里获取值,然后计算并返回结果给用户。

Python Tkinter add two numbers

Add two numbers in Python Tkinter

来看看,使用 Python Tkinter 的身体质量指数计算器

Python Tkinter 添加标签

在本节中,我们将学习如何在 Python Tkinter 中添加标签。

标签用于向用户提供关于小部件的消息。用户可以随时更改小部件上显示的文本。标签一次可以使用一种字体。

Label(master,option)

:代表父窗口。

代码:

在下面的代码中,我们创建了一个小部件,在这个小部件中,我们添加了一个向用户提供消息的标签。用户可以随时更改该文本。

Label() 用于用户指定要显示的文本或图像。

from tkinter import *

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")

label = Label(ws, text="Welcome To Python Guides Tutorial !!",font="arial" "bold")
label.pack()

ws.mainloop()

输出:

运行上面的代码后,我们得到下面的输出,其中我们看到标签在小部件中突出显示。

Python tkinter add label

Python Tkinter add label Output

阅读,Python Tkinter Entry–如何使用

Python Tkinter 添加文本框

在这一节中,我们将学习如何在 Python Tkinter 中添加一个文本框。

文本框允许用户输入程序要使用的文本信息。用户可以一次在文本框中插入多个文本。

代码:

在下面的代码中,我们创建了一个小部件,在这个小部件中,我们添加了一个文本框,用户可以在其中插入文本,或者默认情况下,文本是文本字段中的一个弹出窗口。

  • inputtext.get() 用于获取用户的输入。
  • Text() 功能用于输入文本。
  • Label() 用于用户指定要显示的文本或图像。
  • 按钮()用于提交文本。
from tkinter import *

ws = Tk()
ws.geometry("500x300")
ws.title("Python Guides")

def take_input():
	INPUT = inputtext.get("1.0", "end-1c")
	print(INPUT)
	if(INPUT == "120"):
		Output.insert(END, 'Correct')
	else:
		Output.insert(END, "Wrong answer")

label = Label(text = "What is 24 * 5 ? ")
inputtext = Text(ws, height = 10,
				width = 25,
				bg = "light yellow")

Output = Text(ws, height = 5,
			width = 25,
			bg = "light cyan")

display = Button(ws, height = 2,
				width = 20,
				text ="Show",
				command = lambda:take_input())

label.pack()
inputtext.pack()
display.pack()
Output.pack()

ws.mainloop()

输出:

运行上面的代码后,我们得到下面的输出,用户可以在文本字段中插入数字。

输入文本后,单击显示按钮,如果用户在文本字段中输入的答案是正确的,则下一个文本字段显示正确,否则显示不正确。

Python Tkinter add text box

Python Tkinter add text box Output

用户可以插入正确的值,该值会显示在命令提示符上。

Add a text box in Python Tkinter

Add a text box in Python Tkinter

阅读, Python Tkinter 单选按钮–如何使用

Python Tkinter 添加菜单栏

在本节中,我们将学习如何在 Python Tkinter 中添加菜单栏。

菜单栏位于屏幕的下方,标题栏下方包含一个下拉菜单。菜单栏提供了打开文件、编辑等功能。

代码:

在下面的代码中,我们导入了 Toplevel、Button、Tk、Menu 库,并在窗口顶部创建了一个包含下拉菜单的菜单栏。

  • file1.add_command() 用于向菜单中添加菜单项。
  • file1.add_separator() 用于对菜单进行相应的分隔。
  • menubar.add_cascade() 用于以适当的方式创建菜单栏。
from tkinter import Toplevel, Button, Tk, Menu  

ws = Tk() 
ws.title("Python Guides")
ws.geometry("500x300") 
menubar = Menu(ws)  
file1 = Menu(menubar, tearoff=0)  
file1.add_command(label="New")  
file1.add_command(label="Open")  
file1.add_command(label="Save")  
file1.add_command(label="Save as...")  
file1.add_command(label="Close")  

file1.add_separator()  

file1.add_command(label="Exit", command=ws.quit)  

menubar.add_cascade(label="File", menu=file1)  
edit1 = Menu(menubar, tearoff=0)  
edit1.add_command(label="Undo")  

edit1.add_separator()  

edit1.add_command(label="Cut")  
edit1.add_command(label="Copy")  
edit1.add_command(label="Paste")  
edit1.add_command(label="Delete")  
edit1.add_command(label="Select All")  

menubar.add_cascade(label="Edit", menu=edit1)  
help1 = Menu(menubar, tearoff=0)  
help1.add_command(label="About")  
menubar.add_cascade(label="Help", menu=help1)  

ws.config(menu=menubar)  
ws.mainloop() 

输出:

运行上面的代码后,我们得到了下面的输出,其中我们添加了 3 个流行的菜单栏文件、编辑和帮助。

Python tkinter add menu bar

Python Tkinter add menu bar Output

在这个图片,文件,Edir 是菜单栏和菜单选项,如新建,打开,保存,另存为等。

add Menu Bar in Python Tkinter

add Menu Bar in Python Tkinter

阅读, Python Tkinter 菜单栏–如何使用

Python Tkinter 向条目添加文本

在本节中,我们将学习如何在 Python Tkinter 中向条目添加文本。

条目是我们可以输入文本的地方,或者我们可以说文本条目是指以字符、数字等形式创建消息,或者有时默认消息也可以生成。

代码:

在下面的代码中,我们创建了一个窗口 ws=Tk() 窗口里面有一个文本框。其中用户可以输入他们的文本。如果用户不提供任何输入,则使用默认值。

textBox.insert() 用于插入单词或句子。

from tkinter import *
import tkinter as tk

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")

textBox = Entry(ws)
textBox.insert(0, "Python Guides..!!")  
textBox.pack()
ws.mainloop() 

输出:

以下输出显示 textbox 中已经提到了该文本。如果用户想在文本框中添加一些其他文本,那么他们首先删除这些文本,然后输入另外的“Python Guides..!!"默认显示文本。

Python Tkinter add text to entry

Python Tkinter add text to entry Output

阅读如何用 Python 制作计算器

Python Tkinter 给框架网格添加滚动条

在这一节中,我们将学习如何在 Python Tkinter 中将滚动条添加到框架网格中。

滚动条是一个小部件,其中文本、图片内容可以在预定方向(水平或垂直)滚动。当内容超过时,添加滚动条。

代码:

在下面的代码中,我们创建一个窗口 ws=Tk() 我们想要添加一个滚动条我们使用 Scrollbar() 函数在主窗口上添加滚动条。 Orient 决定滚动条是垂直还是水平

Scrollbar() 用于在主窗口中添加滚动条。

from tkinter import *
class ScrollBar:

	def __init__(self):

		ws = Tk()
		ws.title("Python Guides")
		ws.geometry("200x200")		
		h1 = Scrollbar(ws, orient = 'horizontal')		
		h1.pack(side = BOTTOM, fill = X)
		v1 = Scrollbar(ws)		
		v1.pack(side = RIGHT, fill = Y)

		t1 = Text(ws, width = 15, height = 15, wrap = NONE,
				xscrollcommand = h1.set,
				yscrollcommand = v1.set)

		for i in range(20):
	        t1.insert(END,"Python Guides Tutorial..!!\n")		
		t1.pack(side=TOP, fill=X)		
		h1.config(command=t1.xview)	
		v1.config(command=t1.yview)

		ws.mainloop()
                s1 = ScrollBar() 

输出:

在下面的输出中,我们看到有垂直或水平滚动条被添加到窗口中。

Python tkinter add a scrollbar to a frame grid

Python Tkinter add a scrollbar to a frame grid Output

阅读如何使用 Python Tkinter 获取用户输入并存储在变量中

Python Tkinter 添加图标

在这一节中,我们将学习如何在 Python Tkinter 中添加图标。

该图标类似于标志,它给任何网站的品牌。如果用户想搜索任何网站,他们首先会看到该网站的图标。一个带有 Sitename 的图标被添加到标题栏上。

代码:

在下面的代码中,我们创建了一个窗口,窗口里面有一个标题栏,并且在标题栏上添加了图标。窗口的标题栏图标基于名称照片图像

  • PhotoImage() 用于显示图标的图像。
  • ws.iconphoto() 方法用于设置标题栏图标。
from tkinter import *
from tkinter.ttk import *

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")

image = PhotoImage(file = 'Pyimage.png.crdownload')

ws.iconphoto(False, image)

button = Button(ws, text = 'Click Me !')
button.pack(side = TOP)
ws.mainloop()

输出:

运行上面的代码后,我们得到了下面的输出,其中我们看到了添加到标题栏的图标。

Python Tkinter add icon

Python Tkinter add icon Output

您可能会喜欢以下 Python Tkinter 教程:

因此,在本教程中,我们讨论了 Python Tkinter add 函数,并且我们还涵盖了不同的例子。这是我们已经讨论过的例子的列表。

  • python tkinter add image(python tkinter add 映像)
  • Python Tkinter 添加两个数
  • Python Tkinter 添加标签
  • Python Tkinter 添加文本框
  • Python Tkinter 添加菜单栏
  • Python Tkinter 向条目添加文本
  • Python Tkinter 向框架网格添加滚动条
  • Python Tkinter 添加图标

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter after 方法

原文:https://pythonguides.com/python-tkinter-after-method/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习如何在 Python Tkinter 中创建 after 方法,我们还将介绍与 after 方法相关的不同示例。我们还将讨论这些话题。

  • Python Tkinter after 方法
  • Python Tkinter 后循环
  • Python Tkinter 后带参数
  • Python Tkinter after_cancel

目录

Python Tkinter 方法后

在这一节中,我们将学习如何在 Python Tkinter 中创建一个 after 方法。

方法之后的是 Tkinter 中的内置函数,它在延迟毫秒后调用一次回调函数。当程序运行几秒钟后,调用 after 方法,窗口被销毁。

()方法用以下语法

after(delay,callback=None)

代码:

在下面的代码中,我们导入了一个用于计算时间的时间库。并且在窗口添加按钮内创建一个窗口 ws=Tk() ,文本为“点击这里”

  • Button() 点击一下就可以显示文字。
  • start = time() 计算开始时间。
  • ws.after(20000,ws.destroy) 方法定义为 20 秒后主窗口被销毁。
  • end = time() 计算结束时间。
from tkinter import *

from time import time

ws = Tk()

button1 = Button(ws, text = 'Click Here')
button1.pack(side = TOP, pady = 5)

print('Welcome to Python Guides Tutorial')

start = time()

ws.after(20000, ws.destroy)

ws.mainloop()

end = time()
print('Destroyed after % d seconds' % (end-start))

输出:

在下面的输出中,我们看到一个窗口,窗口里面有一个按钮。

Python Tkinter after method

Python Tkinter after method Output

单击该按钮,我们会在命令提示符下看到文本“欢迎使用 Python 指南教程”,几秒钟后, after() 方法调用,窗口将被破坏。

Python Tkinter after method1

Python Tkinter after method1 Output

阅读: Python tkinter 标签

Python Tkinter 后循环

在这一节中,我们将学习如何在 Python Tkinter 的循环之后创建一个

循环是一个结束与开始相连接的过程。在 after 循环中,回调函数在延迟毫秒后被调用,一段时间后再次继续循环。

代码:

在下面的代码中,我们将时间库作为一个用于计算时间的导入时间,并在我们创建的类中创建一个函数。

  • Label() 用于显示文本或图像的字段。
  • self.label1.after(1000,self.update) 方法被定义为 10 秒后主窗口被销毁并调度另一个定时器。
from tkinter import *
from tkinter import ttk
import time

class digitalwatch(Tk):
    def __init__(self):
        super().__init__()

        self.title('Python Guides')
        self.resizable(0, 0)
        self.geometry('300x80')
        self['bg'] = 'white'

        self.style = ttk.Style(self)
        self.style.configure(
            'TLabel',
            background='white',
            foreground='black')

        self.label1 = Label(
            self,
            text=self.time_string(),
            font=('Digital-7', 40))

        self.label1.pack(expand=True)

        self.label1.after(1000, self.update)

    def time_string(self):
        return time.strftime('%H:%M:%S')

    def update(self):
        """ update the label every 1 second """

        self.label1.configure(text=self.time_string())

        self.label1.after(1000, self.update)

if __name__ == "__main__":
    ws = digitalwatch()
    ws.mainloop()

输出:

在下面的输出中,我们看到了数字手表,其中时间在几秒钟后连续运行,从开始开始,在循环后继续。

Python Tkinter after loop

Python Tkinter after loop Output

阅读: Python Tkinter 条目

Python Tkinter 后带参数

在本节中,我们将学习如何用 Python Tkinter 中的参数创建 after。

在带有参数的函数后使用进行修补,在该函数中定义了一个函数并调用它。否则,它会显示一个错误。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们添加了一些按钮来定义和调用函数。调用它后会得到结果。

  • starttime = time() 计算开始时间
  • ws.after(50000,ws.destroy) 定义 50 秒后主窗口将被破坏。
  • endtime = time() 计算结束时间。
from tkinter import *
from time import time
from tkinter.ttk import Button
ws= Tk()
ws.title("Python Guides")
ws.geometry("200x500")
b = Button(ws, text = 'Welcome Here')
b.pack(pady = 77,side = TOP)
blue = Button(ws, text = "blue")
blue.pack( side = TOP)
black = Button(ws, text = "black")
black.pack( side = BOTTOM )
red = Button(ws, text = "red")
red.pack( side = LEFT )
green = Button(ws, text = "green")
green.pack( side = RIGHT)
print('The Python Guides window is running on the screen...')
starttime = time()
ws.after(50000, ws.destroy)
ws.mainloop()
endtime = time()
print('The Tk Widget is closed after % d seconds' % (endtime-starttime))

输出:

运行上面的代码后,我们得到下面的输出,其中函数运行平稳,没有错误。

Python Tkinter after with arguments

Python Tkinter after with arguments Output

参数显示在命令提示符上,我们还看到 50 秒后小部件自动关闭。

Python Tkinter after with arguments1

Python Tkinter after with arguments1 Output

阅读: Python Tkinter 按钮

Python Tkinter after _ cancel

在本节中,我们将学习如何在 Python Tkinter 中创建 add_cancel 函数。

当我们使用 after()函数创建一个调度时,它会关闭主窗口,给他们提供停止该调度的时间,或者我们可以说,为了停止一个特定的调度,我们使用了 after_cancel 函数。

代码:

在下面的代码中,我们使用 after(5000,lambda:ws.destroy()) 函数,该函数在 5 秒后关闭主窗口,但在应用 after_cancel() 后,它将停止 after 函数。

after_cancel() 函数用于停止的调度,after() 函数。

函数只有一个表达式,它可以接受任何类型的参数。

from tkinter import *
from tkinter import ttk

ws = Tk()
ws.title("Python Guides")

ws.geometry("700x300")

Label(ws, text= "Welcome to Python Guides Tutorial",
font=('Helvetica 20 bold')).pack(pady=20)

ws.after_cancel(ws)
ws.after(5000,lambda:ws.destroy())
ws.mainloop()

输出:

运行上述代码后,我们将得到以下输出,我们看到一个窗口,在屏幕上显示一些文本。当我们移除 after_cancel() 函数时,窗口将在 5 秒后关闭。要移除 after() 函数的时间表,我们使用 after_cancel() 函数。

Python Tkinter after_cancel

Python Tkinter after_cancel Output

你也可以阅读下面的 Tkinter 教程。

因此,在本教程中,我们讨论了 Python Tkinter after 方法,我们还将讨论不同的例子。这是我们已经讨论过的例子列表。

  • Python Tkinter after 方法
  • Python Tkinter 后循环
  • Python Tkinter 后带参数
  • Python Tkinter after_cancel

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 动画

原文:https://pythonguides.com/python-tkinter-animation/

Python & Machine Learning training courses

在本教程中,我们将学习 Python Tkinter 动画。在这里,我们将了解如何在 python 中使用 Tkinter 创建动画,我们将涵盖与动画相关的不同示例。我们还将讨论这些主题

  • Python tkinter 动画
  • Python tkinter 加载动画
  • Python tkinter 计时器动画
  • Python tkinter matplotlib 动画
  • Python tkinter 简单动画
  • Python tkinter 按钮动画

目录

Python Tkinter 动画

在本节中,我们将学习 Python Tkinter 动画。通过动画,我们的意思是在任何物体上创造一个瞬间的幻觉。

在下面的代码中,我们取了两个起始位置“x”和“y ”,并给了一个窗口一些宽度高度,在里面,我们用画布做了一个球,并在我们创建的屏幕空间内给球添加了一个力矩。

代码:

import tkinter
import time

Window_Width=800

Window_Height=600

Ball_Start_XPosition = 50

Ball_Start_YPosition = 50

Ball_Radius = 30

Ball_min_movement = 5

Refresh_Sec = 0.01

def create_animation_window():
  Window = tkinter.Tk()
  Window.title("Python Guides")

  Window.geometry(f'{Window_Width}x{Window_Height}')
  return Window

def create_animation_canvas(Window):
  canvas = tkinter.Canvas(Window)
  canvas.configure(bg="Blue")
  canvas.pack(fill="both", expand=True)
  return canvas

def animate_ball(Window, canvas,xinc,yinc):
  ball = canvas.create_oval(Ball_Start_XPosition-Ball_Radius,
            Ball_Start_YPosition-Ball_Radius,
            Ball_Start_XPosition+Ball_Radius,
            Ball_Start_YPosition+Ball_Radius,
            fill="Red", outline="Black", width=4)
  while True:
    canvas.move(ball,xinc,yinc)
    Window.update()
    time.sleep(Refresh_Sec)
    ball_pos = canvas.coords(ball)
    # unpack array to variables
    al,bl,ar,br = ball_pos
    if al < abs(xinc) or ar > Window_Width-abs(xinc):
      xinc = -xinc
    if bl < abs(yinc) or br > Window_Height-abs(yinc):
      yinc = -yinc

Animation_Window = create_animation_window()
Animation_canvas = create_animation_canvas(Animation_Window)
animate_ball(Animation_Window,Animation_canvas, Ball_min_movement, Ball_min_movement) 

下面是给定代码的一些主要亮点。

  • Canvas.create_oval() 用于赋予球椭圆形。
  • Canvas.move() =球的运动
  • time.sleep() 它在给定的秒数内暂停执行。

输出:

运行上面的代码后,我们可以看到下面的输出,其中一个球正在改变它的位置。球上下运动,展示了一个动画的例子。

Python Tkinter Animation

Output

阅读: Python Tkinter 编辑器

Python Tkinter 加载动画

在本节中,我们将学习 python Tkinter 加载动画。所谓加载,我们指的是通过互联网处理任何页面或加载任何数据。

代码:

在下面的代码中,我们制作了一个处理栏,它在点击 run 按钮后运行,并向我们展示了页面的加载。

  • Progressbar() 用于显示加载栏。
  • mode = ' determine '显示将起点移动到终点的指示器。
from tkinter import *
from tkinter.ttk import *

ws=Tk()
Progress_Bar=Progressbar(ws,orient=HORIZONTAL,length=250,mode='determinate')

def Slide():
    import time
    Progress_Bar['value']=20
    ws.update_idletasks()
    time.sleep(1)
    Progress_Bar['value']=50
    ws.update_idletasks()
    time.sleep(1)
    Progress_Bar['value']=80
    ws.update_idletasks()
    time.sleep(1)
    Progress_Bar['value']=100

Progress_Bar.pack()
Button(ws,text='Run',command=Slide).pack(pady=10)
mainloop() 

输出:

运行下面的代码后,我们得到了下面的输出,它向我们展示了 python Tkinter 是如何加载的。在这里,我们可以看到当用户点击“ Run 按钮时,页面上开始加载数据。

Python Tkinter Animation1

Output

阅读: Python Tkinter 表教程

Python tkinter 定时器动画

在本节中,我们将学习 python Tkinter 计时器动画。通过定时器,我们的意思是为我们的提醒设置任何时间计数来记住我们的任务。理解计时器的最好例子是我们日常使用的闹钟。

代码:

在下面的代码中,我们导入了一个时间库,用来定义小时分钟 &秒。这里一个用户正在设置一些时间计数器,它的工作类似于在时间到了之后给出一个提醒。

import time
from tkinter import *
from tkinter import messagebox

ws = Tk()

ws.geometry("300x300")

ws.title("Python Guides")

Hour=StringVar()
Minute=StringVar()
Second=StringVar()

Hour.set("00")
Minute.set("00")
Second.set("00")

Hour_entry= Entry(ws, width=3, font=("Arial",18,""),
				textvariable=Hour)
Hour_entry.place(x=80,y=20)

Minute_entry= Entry(ws, width=3, font=("Arial",18,""),
				textvariable=Minute)
Minute_entry.place(x=130,y=20)

Second_entry= Entry(ws, width=3, font=("Arial",18,""),
				textvariable=Second)
Second_entry.place(x=180,y=20)

def OK():
	try:

		temp = int(Hour.get())*3600 + int(Minute.get())*60 + int(Second.get())
	except:
		print("Please Input The Correct Value")
	while temp >-1:

		Mins,Secs = divmod(temp,60)

		Hours=0
		if Mins >60:

			Hours, Mins = divmod(Mins, 60)

		Hour.set("{0:2d}".format(Hours))
		Minute.set("{0:2d}".format(Mins))
		Second.set("{0:2d}".format(Secs))

		ws.update()
		time.sleep(1)

		if (temp == 0):
			messagebox.showinfo("Time Countdown", "Time up ")

		temp -= 1

button = Button(ws, text=' countdown', bd='5',
			command= OK)
button.place(x = 100,y = 110)

ws.mainloop()

输出:

运行上面的代码后,我们可以看到一个用户已经设置了几秒钟的定时器,它按照定时器的命令工作。

Python Tkinter Countdown

Output

阅读:如何用 Python Tkinter 创建贪吃蛇游戏

Python tkinter matplotlib 动画

Matplotlib 是一个用于绘制图形的 Python 库。这是一个我们可以免费使用的开源库。它是用 Python 语言写的。这里有一个专门用来处理 matplotlib 函数的工具,名为“ MATLAB ”。在这里,Numpy 是其数字数学扩展,用于表示其轴的图形值。

代码:

  • plt.bar() 用于表示要用 X 轴Y 轴值绘制条形图。
  • ptl.xlabel() 用来表示 x 轴。
  • plt.ylabel() 用于表示 y 轴。
  • plt.title() 用于给条形图赋予标题。
from matplotlib import pyplot as plt
plt.bar([0.25,1.25,2.25,3.25,4.25],[50000,40000,70000,80000,200000],label="MAC",color='r',width=.4)
plt.bar([0.75,1.75,2.75,3.75,4.75],[80000,20000,20000,50000,60000],label="Dominos",color='b',width=.4)
plt.legend(loc='upper right')
plt.xlabel('Months')
plt.ylabel('Sales Amount')
plt.title('Information')
plt.show()

输出:

运行以下代码后,我们看到生成了条形图。这里是代表数据点的 x 轴y 轴值的月份和销售额变量,条形图代表一个月的总销售额。在下面的 gif 中,当我们将鼠标悬停在一个条上时,我们可以看到 x 轴y 轴正在给出一些值。

Python Tkinter Matplotlib Animation

Output

阅读: Python Tkinter 图片

Python tkinter 简单动画

在下一节中,我们将学习 python Tkinter 的简单动画。在这里,我们制作了一个按钮,点击这个按钮可以改变背景颜色。

代码:

在下面的代码中,我们使用了一个随机库,为我们的选项提供了一个随机选择,在顶部,我们添加了一个带有文本“click me”的按钮,它可以随机改变背景的颜色。

  • 返回一个随机选择颜色的列表。
  • ws.title 用于给窗口一个标题。
  • 按钮()用于运行该命令生成随机颜色在此。
from tkinter import *
import random

def gen_color():
    ws.configure(background=random.choice(["black", "red" , "green" , "blue"]))

ws =Tk()
ws.title("Python Guides")
ws.geometry('500x500')

button=Button(ws,text='Click Me',command = gen_color).pack()
ws.mainloop()

输出:

运行上述代码后,我们可以借助 python Tkinter 运行一个简单的动画。

simple animation

Simple animation

阅读: Python Tkinter Colors

Python tkinter 按钮动画

在本节中,我们将学习 Python Tkinter 动画按钮。

我们在这里使用按钮动画作为一种功能,我们可以在任何游戏应用程序或任何类似的应用程序中使用它来打开或关闭该功能。这里的按钮就像一个普通的开关一样工作,我们在日常生活中使用它来打开房子的灯。

代码:

from tkinter import *
ws = Tk()
ws.title("Python Guides")

def convert():
    if(a1['state']==NORMAL):
        a1["state"] = DISABLED
        a2["text"]="enable"
    elif (a1['state']==DISABLED):
        a1["state"]=NORMAL
        a2["text"]="disable"

#--Buttons
a1=Button(ws, text="button")
a1.config(height = 8, width = 9)
a1.grid(row=0, column=0)    
a2 = Button(text="disable", command=convert)
a2.grid(row=0,column=1)
ws.mainloop()

在上面的代码中,首先,我们创建了一个按钮对象“ a1 ”,然后,我们使用 IF 语句来检查按钮的状态。最后,我们使用状态来改变按钮的行为,以获得想要的结果。

输出:

运行下面的代码后,我们得到下面的输出,当我们点击它们时,按钮将被禁用。当我们再次点击它们时,按钮将被启用。

Python Tkinter Button Animation

Output

你可能也喜欢读下面的文章。

所以,在本教程中,我们讨论 Python Tkinter 动画。这是我们已经讨论过的例子的列表。

  • Python Tkinter 动画
  • Python Tkinter 动画教程
  • Python Tkinter 加载动画
  • Python Tkinter 计时器动画
  • Python Tkinter matplotlib 动画
  • Python Tkinter 简单动画
  • Python Tkinter 按钮动画

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 自动完成

原文:https://pythonguides.com/python-tkinter-autocomplete/

Python & Machine Learning training courses

在这个 Python 教程中,我们将看到如何实现 Python Tkinter 自动完成功能。自动完成是指根据用户键入的关键字显示相关单词。最简单的例子可能是你在浏览时看到的自动建议点。我们将讨论这些话题。

  • tkinter 自动完成
  • 自动完成条目 Tkinter Python
  • Python Tkinter 自动完成 Combobox
  • Python Tkinter 自动完成列表框

目录

自动完成 Python Tkinter

Python Tkinter 提供了一个模块 ttkwidgets ,使用它我们可以在 Python Tkinter 的应用程序中添加自动完成特性。

  • ttkwidgets 拥有方法自动完成功能,允许开发者在他们各自的应用程序中轻松实现自动完成功能。
  • 该过程的第一步是在系统上安装自动完成功能。Windows 和 Mac 用户可以简单地使用 pip 来安装 autocomplete,而 Linux 用户必须安装完整的软件包才能使用它。
  • ttkwidgets 依赖于 pillow ,所以我们需要在系统上安装它来使这个 ttkwidgets 库工作。

Windows 和 Mac 用户:

pip install ttkwidgets
pip install pillow

or

pip3 install ttkwidgets
pip3 install pillow

对于 Linux,我们将使用拥有一个 aptUbuntu 作为包管理器。您可以将 apt 更改为您各自的包管理器。Arch Linux 用户点击这里

sudo add-apt-repository ppa:j-4321-i/ttkwidgets

sudo apt-get update

sudo apt-get install python3-ttkwidgets

sudo apt-get install python-imaging-tk

一旦您成功执行了所有这些命令,您就可以按照下面几节中的步骤在 Python Tkinter 中实现自动完成特性。

使用 Tkinter 阅读 Python 中的注册表

自动完成条目 Tkinter Python

在本节中,我们将学习如何在 Python Tkinter 中自动完成条目小部件。此外,我们将看到它的一个例子。

  • 该过程的第一步是从 ttkwidgets.autocomplete 导入 AutocompleteEntry 方法
  • 现在,我们将使用 AutocompleteEntry 创建一个入口小部件,而不是直接从 Tkinter 创建,在它内部,我们将为 completevalues 传递一个参数。
  • completevalues 参数中传递的值将成为选项,当用户传递类似的关键字时,这些选项将被完成。
  • 比如completevalues=['hello', 'PythonGuides'],现在每次用户都会键入‘h;他/她会将自动完成建议视为“你好”,类似地,在“p”的情况下,他/她会将“pythonguides”视为一个选项。

Tkinter Python 中自动完成条目的源代码

from ttkwidgets.autocomplete import AutocompleteEntry
from tkinter import *

countries = [
        'Antigua and Barbuda', 'Bahamas','Barbados','Belize', 'Canada',
        'Costa Rica ', 'Cuba', 'Dominica', 'Dominican Republic', 'El Salvador ',
        'Grenada', 'Guatemala ', 'Haiti', 'Honduras ', 'Jamaica', 'Mexico',
        'Nicaragua', 'Saint Kitts and Nevis', 'Panama ', 'Saint Lucia', 
        'Saint Vincent and the Grenadines', 'Trinidad and Tobago', 'United States of America'
        ]

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#f25252')

frame = Frame(ws, bg='#f25252')
frame.pack(expand=True)

Label(
    frame, 
    bg='#f25252',
    font = ('Times',21),
    text='Countries in North America '
    ).pack()

entry = AutocompleteEntry(
    frame, 
    width=30, 
    font=('Times', 18),
    completevalues=countries
    )
entry.pack()

ws.mainloop()

输出 Python Tkinter 中自动完成条目的

**下面是 Python Tkinter 中自动完成条目的上述代码的输出。你可以注意到,当用户键入' Un 时,它会自动将国家名称改为'美利坚合众国'。

python tkinter autocomplete entry

Autocomplete Entry in Python Tkinter

阅读: Python NumPy 矩阵

Python Tkinter 自动完成组合框

在这一节中,我们将学习如何在 Python Tkinter 中自动完成 Combobox 小部件。

  • 该过程的第一步是从 ttkwidgets.autocomplete 导入 AutocompleteEntry 方法
  • 现在,我们将使用 AutocompleteCombobox 创建 Combobox,而不是直接从 Tkinter 创建 Combobutton 或 Combobox 小部件,在其中,我们将为 completevalues 传递一个参数。
  • completevalues 参数中传递的值将成为选项,当用户传递类似的关键字时,这些选项将被完成。

Tkinter Python 中自动完成组合框的源代码

from ttkwidgets.autocomplete import AutocompleteCombobox
from tkinter import *

countries = [
        'Antigua and Barbuda', 'Bahamas','Barbados','Belize', 'Canada',
        'Costa Rica ', 'Cuba', 'Dominica', 'Dominican Republic', 'El Salvador ',
        'Grenada', 'Guatemala ', 'Haiti', 'Honduras ', 'Jamaica', 'Mexico',
        'Nicaragua', 'Saint Kitts and Nevis', 'Panama ', 'Saint Lucia', 
        'Saint Vincent and the Grenadines', 'Trinidad and Tobago', 'United States of America'
        ]

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#8DBF5A')

frame = Frame(ws, bg='#8DBF5A')
frame.pack(expand=True)

Label(
    frame, 
    bg='#8DBF5A',
    font = ('Times',21),
    text='Countries in North America '
    ).pack()

entry = AutocompleteCombobox(
    frame, 
    width=30, 
    font=('Times', 18),
    completevalues=countries
    )
entry.pack()

ws.mainloop() 

Tkinter Python 中自动完成组合框的源代码

下面是 Python Tkinter 中 Autocomplete Combobox 的上述代码的输出。你可以注意到,当用户输入“ Un 时,它会自动完成输入框中的文本,并在下拉菜单中突出显示相同的国家名称“美利坚合众国”。

python- kinter autocomplete combo

Autocomplete combobox in Python Tkinter

阅读:从 PDF Python 中提取文本

python tkinter autocompute listbox

  • 该过程的第一步是从 ttkwidgets.autocomplete 导入autocompleteentryllistbox方法。
  • 现在,我们将使用autocompleteentryblistbox来创建一个列表框小部件,而不是直接从 Tkinter 创建,在列表框内部,我们将为 completevalues 传递一个参数。
  • completevalues 参数中传递的值将成为选项,当用户传递类似的关键字时,这些选项将被完成。

Tkinter Python 中自动完成列表框的源代码

from ttkwidgets.autocomplete import AutocompleteEntryListbox
from tkinter import *

countries = [
        'Antigua and Barbuda', 'Bahamas','Barbados','Belize', 'Canada',
        'Costa Rica ', 'Cuba', 'Dominica', 'Dominican Republic', 'El Salvador ',
        'Grenada', 'Guatemala ', 'Haiti', 'Honduras ', 'Jamaica', 'Mexico',
        'Nicaragua', 'Saint Kitts and Nevis', 'Panama ', 'Saint Lucia', 
        'Saint Vincent and the Grenadines', 'Trinidad and Tobago', 'United States of America'
        ]

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#DFE7F2')

frame = Frame(ws, bg='#DFE7F2')
frame.pack(expand=True)

Label(
    frame, 
    bg='#DFE7F2',
    font = ('Times',21),
    text='Countries in North America '
    ).pack()

entry = AutocompleteEntryListbox(
    frame, 
    width=30, 
    font=('Times', 18),
    completevalues=countries
    )
entry.pack()

ws.mainloop() 

Tkinter Python 中自动完成列表框的源代码 :

下面是 Python Tkinter 中自动完成列表框的上述代码的输出。您可以注意到,当用户选择加拿大时,它会在输入框中自动更新。

python tkinter autocomplete listbox

Autocomplete Listbox in Python Tkinter

您可能会喜欢以下 Python Tkinter 教程:

在本教程中,我们学习了如何在 Python Tkinter 中创建自动完成。此外,我们已经讨论了这些主题。

  • tkinter 自动完成
  • 自动完成条目 Tkinter Python
  • Python Tkinter 自动完成 Combobox
  • Python Tkinter 自动完成列表框

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/**

Python Tkinter 按钮–如何使用

原文:https://pythonguides.com/python-tkinter-button/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习 Python tkinter 按钮。我们也会看到这些话题。

  • Python Tkinter 按钮命令
  • Python Tkinter 按钮样式
  • Python Tkinter 按钮位置
  • Python Tkinter 按钮大小
  • Python Tkinter 按钮颜色
  • Python Tkinter 按钮形状
  • python tkinter button image(python tkinter button 图像)
  • Python Tkinter 按钮命令参数
  • Python Tkinter 按钮属性
  • Python Tkinter 按钮变灰

目录

Tkinter 按钮命令

  • button 小部件用于在屏幕上放置一个按钮。
  • 按钮拥有按下时触发的功能。

语法:

在这种语法中,ws 是主要的,在文本的地方你可以提到按钮的用途,函数或方法应该作为命令传递。

Button(ws, text="any text", command=function/method).pack()

代码:

这里有一个订阅按钮。当用户点击该按钮,消息框与谢谢你出现。

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('PythonGuides')

def subscribe():
    return messagebox.showinfo('PythonGuides','Thnak you for subscribing!')

Button(ws, text="Subscribe", command=subscribe).pack(pady=20)

ws.mainloop()

输出:

正如您在下面的输出屏幕中看到的。当用户点击订阅按钮时,他会得到一个提示。如果您只想调用函数一次,那么在调用函数之后添加()。比如这个例子command=subscribe()

python tkinter button command

python tkinter button

你可能也会喜欢, Python Tkinter Title身体质量指数计算器使用 Python Tkinter

t inter 按钮样式

  • 样式用于改善按钮的外观
  • 它提供了各种各样的功能,如背景,前景,字体等
  • 开发者可以准备用于设计按钮的模板
  • 使用 style,它可以在所有按钮上实现
  • 您可以将更改应用于单个按钮或多个按钮

代码:

from tkinter import *
from tkinter.ttk import * 

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

st = Style()
st.configure('W.TButton', background='#345', foreground='black', font=('Arial', 14 ))

Button(ws, text='Smash Me', style='W.TButton', command=None).pack()

ws.mainloop() 

输出:

这个输出是使用 style 实现的。

python tkinter button style

Tkinter button Styles

t inter 按钮位置

  • 有 3 个布局管理器: Pack,Grid,Place
  • Pack 用于将 widget 在框架中央对齐。
  • 网格使用行&列的方法放置小部件。
  • Place 用于在任何坐标中定位小部件,提供为 x & y

语法:

Button(ws, text="any text", command=function/method).pack()

Button(ws, text="any text", command=function/method).grid(row=value, column=value)

Button(ws, text="any text", command=function/method).place(x=value, y=value) 

代码使用包:

from tkinter import *

ws = Tk()
ws.title("PythonGuide")
ws.geometry('200x250')

Button(ws, text="Click", command=None).pack()

ws.mainloop()

输出:

在这个输出中,pack 用于放置按钮。Pack 将小部件居中对齐。这就是为什么在第二张图片中调整屏幕大小时,按钮仍然在中间位置。

python tkinter button positioning using pack

Button positioning using pack

使用网格编码:

from tkinter import *

ws=Tk()
ws.title("PythonGuide")
ws.geometry('200x250')

Button(ws,text="Click",command=None).grid(row=0, column=0)

ws.mainloop()

输出:

在这个输出中,您可以看到按钮位于第 0 行和第 0 列,这意味着左上角。即使调整了窗口大小,“在网格中”按钮仍保持不变。

python tkinter button grid

Tkinter Button Position

代码使用地点:

from tkinter import *

ws = Tk()
ws.title("PythonGuide")
ws.geometry('200x250')

Button(ws, text="Click", command=None).place(x=20, y=20)

ws.mainloop()

输出:

在这个输出中,使用 place 来定位按钮。这个地方提供了最大限度的控制。正如你所看到的,两个按钮被放置在不同的位置,但由于屏幕尺寸小于第二个按钮的位置,所以它没有出现。但是当屏幕被拉伸时,它开始出现。

python tkinter button place

t inter 按钮尺寸

  • 调整按钮的大小意味着增加或减少按钮部件的宽度和高度。
  • 使用关键字宽度高度可以很容易地做到这一点。

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

Button(ws, text='Smash Me!', height=10, width=20).pack(pady=10)

ws.mainloop()

输出:

在此输出中,按钮大小从常规大小增加了。按钮的标准尺寸在上一节中已经提到。在这种情况下,按钮的高度和宽度都增加了。

python tkinter button height width

Tkinter Button size

t inter 按钮颜色

  • 颜色在使应用程序看起来有吸引力和吸引眼球方面起着重要的作用。
  • 按钮也可以涂上任何颜色。
  • 有两个部分需要着色。
  • 首先是按钮的背景其次是字体颜色
  • bg 关键字用于绘制背景
  • fg 关键字用于给字体上色。

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

Button(ws, text='Smash Me!', height=10, width=20, bg='#567', fg='White').pack(pady=10)

ws.mainloop()

输出:

在这个输出中,背景被涂成蓝色,字体颜色是白色。单词和 hexacode 都是可以接受的。

python tkinter button colour

Tkinter Button Color

t inter 按钮形状

  • 形状是指在按钮中应用形状
  • 形状可以是矩形、椭圆形、圆形等。
  • tkinter 不支持形状
  • 您不能直接从 widget 创建圆形按钮。
  • 要做到这一点,你需要一个全面的形象。
  • 然后将边框宽度减小到 0。
  • 要观看演示,请参考 Tkinter 图像部分

tkinter button image

  • 图像改善了应用程序的外观
  • 为了在按钮上应用图像,我们使用了 image 关键字

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')   

dwnd = PhotoImage(file='download.png')
Button(ws, image=dwnd, command=None).pack(pady=10)

ws.mainloop()

输出:

在此输出中,下载按钮图像应用于按钮小部件。它是可点击的,这意味着它是一个按钮。但是这个有按钮背景。移除下一张图片中的按钮边框设置borderwidth = 0.,你可以看到这里没有边框。

python tkinter button image

Button image with background

python tkinter button image with 0 width

Button image without background

Tkinter 按钮命令参数

  • 命令按钮参数是指在命令按钮中提供输入
  • 在计算器中,代码通过按钮命令获取一个关键参数。
  • 类似地,我们将编写向函数发送一个数字的代码

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

ep = ''
def keyLog(k):
    global ep
    ep = ep + str(k)
    actn.set(ep)

actn = StringVar()
Entry(ws, textvariable=actn).pack()

one_Btn = Button(ws, text='1', command=lambda: keyLog(1), padx=5, pady=5)
two_Btn = Button(ws, text='2', command=lambda: keyLog(2), padx=5, pady=5)
three_Btn = Button(ws, text='3', command=lambda: keyLog(3), padx=5, pady=5)

one_Btn.pack()
two_Btn.pack()
three_Btn.pack()

ws.mainloop()

输出:

所以在这个输出中,参数以键名 ie 的形式出现。1 或 2 或 3 被传递给函数,其中这些数字被打印在输入框中。

python tkinter button command argument

Tkinter Button Command Arguments

Tkinter 按钮属性

  • 属性是按钮小工具的属性
  • 它包含小部件的所有特性的列表
  1. 活动背景 & 活动前景
  • 活动背景点击时改变按钮的背景颜色
  • 点击按钮时, activeforeground 改变文本颜色

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')   

Button(ws, text="Smash Me", activebackground='#345',activeforeground='white', padx=5, pady=5 ).pack(pady=10)

ws.mainloop()

输出:

在这个输出中,第一个图像显示了没有单击的按钮,但是第二个图像显示了单击时背景颜色和文本颜色的变化。只要松开按钮,它就会变得正常

python tkinter button before & after click

Tkinter Button Attributes

2。颜色:

  • 颜色在软件开发中起着重要的作用。
  • 每种颜色都有一些含义,比如红色代表错误,绿色代表正确,等等。
  • bg 用于填充标签的背景颜色
  • fg 用于改变文本颜色。
  • 您可以提供颜色名称或十六进制代码

举例:

Button(ws, text="Click", bg="blue", fg="#000").pack()

3。 字体:

  • 字体使文本可读。
  • 了解更多关于字体的知识。

举例:

Button(ws, text="font", font=('arial bold', 18)).pack()

4。救济:

  • 浮雕用于为边框提供装饰。
  • 它有各种选项可以用来强调文本。
  • 按钮边框定义了边框的类型和宽度。
  • 有 6 种类型的边框,每种都有其 on 属性:
    • 升起
    • 沉没
    • 山脊
    • 固体
    • 凹槽
  • 默认情况下,平面处于活动状态。
  • borderwidth 关键字用来定义边框的粗细。
  • relief 关键字用于定义边框的类型。

语法: borderwidth 应提供任意整数值,relief 应提供任意这些(平的、凸起的、凹陷的、脊形的、实心的、凹槽的)。

Label(ws, text="any text", borderwidth=value, relief="typeofborder").pack()

代码:

from tkinter import *

ws = Tk()
ws.title("Border")
ws.geometry("300x400")

Button(ws, text="Flat border", borderwidth=3, relief="flat", padx=5, pady=10).pack(padx=5, pady=10)
Button(ws, text="raised border", borderwidth=3, relief="raised", padx=5, pady=10).pack(padx=5, pady=10)
Button(ws, text="sunken border", borderwidth=3, relief="sunken", padx=5, pady=10).pack(padx=5, pady=10)
Button(ws, text="ridge border", borderwidth=3, relief="ridge", padx=5, pady=10).pack(padx=5, pady=10)
Button(ws, text="solid border", borderwidth=3, relief="solid", padx=5, pady=10).pack(padx=5, pady=10)
Button(ws, text="groove border", borderwidth=3, relief="groove",padx=5, pady=10).pack(padx=5, pady=10)

ws.mainloop() 

输出:

在此输出中,显示了所有类型的边框,每种边框的宽度为 3 个像素。padx & pady 决定盒子周围的额外空间。

Python Label border width

举例:

Button(ws, text="relief demo", borderwidth=3, relief='solid border').pack()

5。高度&宽度:

  • 高度决定了按钮的垂直尺寸。
  • 宽度决定按钮的水平尺寸。

举例:

Button(ws, text="Height & width", height=5, width=10).pack()

6。帕德克斯&帕迪

  • padx 垂直添加空白
  • pady 水平添加空白
  • 如果在按钮内使用它们,它们会在盒子内增加额外的空间
  • 如果在定位部分(包装/网格/位置)使用它们,则在框外添加空间。

例:盒子里面

Button(ws, text="Smash Me", padx=10, pady=5).pack()

7。 狡辩:

  • Justify 用于对齐。
  • 它的工作方式类似于 anchor,但只有三个选项
  • 左、中、右

举例:

Button(ws, text="Smash Me", justify=CENTER).pack()

Python Tkinter 灰显按钮

  • Python Tkinter 按钮变灰表示按钮处于禁用状态&无法点击。
  • 当开发人员不希望用户在没有满足需求的情况下继续开发时,可以使用这种方法。
  • 下次如果你在网站或软件上看到接受条款和条件选项,试着接受它。您会注意到按钮被禁用&它是不可点击的。
  • 状态用于在正常禁用状态之间切换。
    • 正常:按钮可点击,准备触发功能
    • 禁用:按钮变灰,无法点击。

语法:

Button(ws, text="any-text", state=DISABLED).pack()

代码:

在这段代码中,我们创建了一个按钮变灰的演示。有一个按钮处于禁用状态。当用户选中复选框时,该按钮将变为正常状态。

from tkinter import * 

def activate_submit():
    if var.get()==1:
        btn['state']=NORMAL
    elif var.get()==0:
        btn['state']=DISABLED 
    else:
        print('something went wrong!')

ws = Tk()
ws.title("PythonGuides")
ws.geometry("400x300")
ws['bg']='#5d8a82'

var = IntVar()
cb = Checkbutton(
    ws, 
    text="Terms & conditions", 
    onvalue=1, 
    offvalue=0,
    variable=var,
    font=("time", 16),
    command=activate_submit,
    bg='#5d8a82'
    )
cb.pack(pady=50)

btn = Button(
    ws, 
    text="Register",
    command=None,
    state=DISABLED, 
    padx=20, 
    pady=10,
    relief=RAISED, 
    font=('times bold', 14)
)
btn.pack()

ws.mainloop()

输出:

在这个输出中,您可以看到在第一张图片中,按钮是灰色的或被禁用,但一旦用户接受了条款和条件,但正常和可点击的。

python tkinter button state

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了 Python Tkinter 按钮:

  • Python Tkinter 按钮命令
  • Python Tkinter 按钮样式
  • Python Tkinter 按钮位置
  • Python Tkinter 按钮大小
  • Python Tkinter 按钮颜色
  • Python Tkinter 按钮形状
  • python tkinter button image(python tkinter button 图像)
  • Python Tkinter 按钮命令参数
  • Python Tkinter 按钮属性
  • Python Tkinter 按钮变灰

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 画布教程

原文:https://pythonguides.com/python-tkinter-canvas/

Python & Machine Learning training courses

在本 Python 教程中,我们将详细讨论 Python Tkinter Canvas 。我们还将涵盖以下主题:

  • Python Tkinter 画布教程
  • 使用 Python Tkinter 画布创建矩形
  • 使用 Python Tkinter Canvas 添加图像
  • 使用 Python Tkinter 画布添加文本
  • 清除 Python Tkinter 画布中的画布对象
  • 在 python tkinter 画布中使用 matplotlib
  • 更改 Python Tkinter 画布的大小

目录

Python Tkinter 画布教程

  • 像其他小部件一样,画布也是一个具有多种用途的小部件。
  • Canvas 是一个绘图小部件,它也可以保存其他小部件。
  • 使用画布 2D 对象可以创建像文本,圆形,矩形等。
  • 在画布中,x & y 坐标在左上角的值为 0。
  • 向右移动增加 x 值,向左移动增加 y 值。
  • python Tkinter canvas 的层是根据放置顺序决定的,这意味着放置在最终样式中的对象位于顶层。

如果您是 Python Tkinter 或 Python GUI 编程的新手,请查看 Python GUI 编程(Python Tkinter)Python Tkinter 拖放

Python Tkinter 画布矩形

  • Python Tkinter Canvas 内置了创建形状的功能。
  • 创建矩形使用 create_rectangle()方法。
  • 这个方法接受 4 个参数 x1,y1,x2,y2。这里 x1 和 y1 是左上角的坐标,x2 和 y2 是右下角的坐标。

代码:

下面是解释使用画布创建 python tkinter 矩形的代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x300')
ws.config(bg='#345')

canvas = Canvas(
    ws,
    height=200,
    width=200,
    bg="#fff"
    )

canvas.pack()

canvas.create_rectangle(
    30, 30, 180, 120,
    outline="#fb0",
    fill="#fb0")

ws.mainloop()

输出:

在这个输出中,矩形是使用 python tkinter Canvas 创建的。

python tkinter rectangle using canvas

python tkinter rectangle using canvas

如果你对 x1,y1,x2,y2 坐标感到困惑,这里有相同的解释。x1 将对象推向右侧或东方。,y1 将对象推向南方。X2 和 Y2 向东南方向扩展矩形。

python tkinter rectangle using canvas explanation

python tkinter rectangle using canvas

Python Tkinter 画布图像

  • 在本教程中,我们将学习在 Python Tkinter Canvas 中实现一个图像。
  • 我们创造了一个简单的。使用 ms paint 的 png 图像,用于演示目的。
  • 首先,我们将创建一个画布部件,并为其提供高度和宽度。
  • PhotoImage() 该方法用于读取图像,其值存储在 img 变量中。
  • canvas.create_image(x, y, image=img_path)
  • 这里, x 向右扩展图像,而 y 向下扩展图像。
  • 图像选项保存文件名。

代码:

from tkinter import *
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('750x400')
ws.config(bg='#345')

canvas = Canvas(
    ws,
    height=500,
    width=1000,
    bg="#fff"
    )

canvas.pack()

img = PhotoImage(file="python-tkinter-canvas-image-for-use.png")
canvas.create_image(370, 200, image=img)

ws.mainloop()

输出:

在此输出中,使用 Python Tkinter 中的 canvas 显示图像。

Python Tkinter Canvas Image

Python Tkinter Canvas Image

Python Tkinter 画布文本

  • 这篇课文提到了字母表的排列。
  • 我们可以使用canvas.create_text(x, y)在 python Tkinter 画布中放置文本。这里 x & y 是文本的位置。

代码:

在这段代码中,显示了 python tkinter 画布文本。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('500x300')
ws.config(bg='#345')

canvas = Canvas(
    ws,
    height=200,
    width=400,
    bg="#fff"
    )

canvas.pack()

canvas.create_text(
    200,100,
    fill="darkblue",
    font="Times 20 italic bold",
    text="with great power comes \ngreat responsibility")

ws.mainloop()

输出:

在这个输出中,我们可以看到文本是使用 python tkinter canvas 显示的。

python tkinter canvas text

python tkinter canvas text

Python Tkinter Canvas Clear

  • 在本节中,我们将学习如何删除清除python Tkinter 画布。
  • delete 方法用于清除画布或画布的特定对象。
  • 要删除整个画布,使用canvas.delete("all")
    • 这里 canvas 是存储 Canvas 小部件值的变量。
    • all 是一个内置功能,用于删除画布内的所有内容。
    • 要删除画布中的特定对象,请提供标签名称来代替“all”。
  • 标签可以通过使用关键字标签后跟任何名称来创建。
  • 示例:canvas.create_rectangle(100,30,400,200,fill="red ",tags="rect ")
    • canvas.delete("rect")
    • 这段代码将只删除标签为 rect 的矩形。
  • 可以为多个对象提供相同的标记名。
  • 并且当 delete 方法用于所提供的标签时,这些对象将被删除。

代码:

在这段代码中,我们创建了多个对象&我们创建了删除这些对象的按钮。点击 del_rect 按钮删除矩形,点击 del_squ 按钮删除正方形,点击 del_all 按钮删除所有对象。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('500x400')
ws.config(bg='grey')

canvas = Canvas(
    ws,
    height=300,
    width=400,
    bg="#fff",
    )

canvas.pack()

canvas.create_rectangle(
    30, 20, 200, 100,
    fill="red", 
    tags="rect",
    )

canvas.create_oval(
    150, 150, 50, 50,
    fill="blue",
    tag="circ"
    )

canvas.create_rectangle(
    150, 50, 250, 150,
    fill="grey",
    tag="squa"
    )

canvas.create_text(
    180, 250,
    font= "Times 20",
    text="Squre,Circle & Rectangle \n inside the canvas",
    tag='txt'
    )

btn1 = Button(
    ws,
    text='del_rect',
    font="Times 12",
    command=lambda:canvas.delete("rect")
    )

btn1.pack(side=LEFT, fill=X, expand=True)

btn2 = Button(
    ws,
    text='del_squ',
    font="Times 12",
    command=lambda:canvas.delete("squa")
    )

btn2.pack(side=LEFT, fill=X, expand=True)

btn3 = Button(
    ws,
    text='del_circ',
    font="Times 12",
    command=lambda:canvas.delete("circ")
    )

btn3.pack(side=LEFT, fill=X, expand=True)

btn4 = Button(
    ws,
    text='del_all',
    font="Times 12",
    command=lambda:canvas.delete("all")
    )

btn4.pack(side=LEFT, fill=X, expand=True)

ws.mainloop() 

输出:

在这个输出中,显示了圆形、正方形、矩形和文本。底部有四个按钮。每个按钮将清除屏幕上的一个对象。``del_all the 按钮将清除画布上的一切。

python tkinter canvas clear

Python Tkinter Canvas Clear

python tkinter canvas matplot lib

  • 在本节中,我们将学习在 python Tkinter canvas 中使用 matplotlib
  • Matplotlib 是一个 python 库,用于以可视化形式绘制数据。它广泛应用于数据分析。它把数据变成图表、直方图等。
  • matplotlib 是一个外部库,使用前需要安装。
  • 该命令将安装 matplotlib
  • 一旦安装了 matplotlib,我们需要导入库。
  • backend_tkagg 模块用于使用 matplotlib 在画布上绘图
  • 这个模块在 matplotlib.backend 里面。
  • 此外,我们需要从 matplotlib 导入图形。数字
  • 图决定绘图区域的大小也提供了一个重要的工具栏。

Python Tkinter Canvas Matplotlib

Toolbar

代码:

在这段代码中,我们用直方图绘制了数据。

from tkinter import *
from matplotlib.figure import Figure 
from matplotlib.backends.backend_tkagg import *

def click_toplot(): 
    fig = Figure(
        figsize = (5, 3),
        dpi = 100
        ) 

    #change this data to see difference
    y = [2, 10, 30, 10, 5, 8, 50, 44, 41] 

    plot1 = fig.add_subplot(111) 

    plot1.hist(y) 

    canvas = FigureCanvasTkAgg(
        fig,
        master = ws) 
    canvas.draw() 
    canvas.get_tk_widget().pack() 

    toolbar = NavigationToolbar2Tk(
        canvas,
        ws
        ) 

    toolbar.update() 
    canvas.get_tk_widget().pack() 

ws = Tk() 
ws.title('PythonGuides') 
ws.geometry("650x400") 
ws.config(bg='#fb0')

plot_button = Button(master=ws,
					command = click_toplot, 
					text = "Click to Plot") 

plot_button.pack() 

ws.mainloop() 

输出:

在这个输出中,数据以直方图的方式显示。

python tkinter canvas matplotlib

Python Tkinter Canvas Matplotlib

Python Tkinter 画布大小

  • Python Tkinter 画布的大小可以通过提供高度和宽度来决定。
  • Height 是父窗口上画布的垂直位置。
  • 宽度是父窗口上画布的水平位置。
  • 高度和宽度的变化将改变画布的大小。
canvas = Canvas(
    ws,
    height=200,
    width=400,
    bg="#fff"
    )

canvas.pack()
  • 在这段代码中,我们使用了 Canvas 小部件。
  • ws 是 Tkinter 的母层。
  • 高度为画布提供垂直空间
  • 宽度为画布提供水平空间。
  • bg 用来给画布提供背景色。

您可能会喜欢以下 Python Tkinter 画布教程:

在本教程中,我们学习了关于 python tkinter canvas 的知识,也涵盖了这些主题。

  • Python Tkinter 画布教程
  • 使用 Python Tkinter 画布创建矩形
  • 使用 Python Tkinter Canvas 添加图像
  • 使用 Python Tkinter 画布添加文本
  • 清除 Python Tkinter 画布中的画布对象
  • 在 python tkinter 画布中使用 matplotlib
  • 更改 Python Tkinter 画布的大小

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

python Tkinter check button–如何使用

原文:https://pythonguides.com/python-tkinter-checkbutton/

Python & Machine Learning training courses

在本 Python 教程中,我们将讨论关于 Python tkinter checkbutton

  • Tkinter Checkbutton python
  • Tkinter Checkbutton 获取值
  • Tkinter 复选按钮图像位置
  • Tkinter Checkbutton 命令
  • Tkinter Checkbutton 默认选中
  • Tkinter Checkbutton 值
  • t 内部检查按钮大小
  • Tkinter Checkbutton 设置值
  • Tkinter 复选按钮取消选择
  • Tkinter 复选按钮取消选择
  • Tkinter 复选按钮网格
  • Tkinter 复选框示例

目录

Python Tkinter Checkbutton

Python GUI 编程新手?,先查看 Python GUI 编程(Python Tkinter)如何使用 Python Tkinter 读取文本文件。

  • checkbutton 是一个方形的方框,点击后会有一个勾号。
  • 如果尚未选中,则每次点击甚至时,复选标记都会消失。
  • Checkbuttons 类似于 radiobuttons,但它允许多重选择。
  • 复选按钮也称为复选框。
  • 下面是一个 Checkbutton 的例子

python tkinter checkbutton firstlook

Python Tkinter Checkbutton

Tkinter Checkbutton 获取值

  • Get value 用于从创建 checkbutton 时分配的 checkbutton 中提取值
  • 这个值可以是整数字符串布尔值
  • IntVar() 用于获取整数值
  • StringVar() 用于获取字符串值
  • BooleanVar ()用于获取布尔值,即真或假。
  • 值可以与 if-else 一起使用,以便在选中或取消选中 checkbutton 时运行您希望发生的任何操作

代码:

在这段代码中,我们实现了获取值。这里分配给on value&off value的值是一个整数,这就是为什么 IntVar() 被用作变量。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x80')

def isChecked():
    if cb.get() == 1:
        btn['state'] = NORMAL
        btn.configure(text='Awake!')
    elif cb.get() == 0:
        btn['state'] = DISABLED
        btn.configure(text='Sleeping!')
    else:
        messagebox.showerror('PythonGuides', 'Something went wrong!')

cb = IntVar()

Checkbutton(ws, text="accept T&C", variable=cb, onvalue=1, offvalue=0, command=isChecked).pack()
btn = Button(ws, text='Sleeping!', state=DISABLED, padx=20, pady=5)
btn.pack()

ws.mainloop()

输出:

在这个输出中, get 用于比较值,然后相应地改变按钮状态&文本。如您所见,如果复选框被选中,则按钮状态为正常 &有文本“唤醒”,而当复选框按钮未被选中时,则按钮状态为禁用 &文本显示“睡眠!”

python tkinter checkbutton get

Tkinter Checkbutton get value

阅读: Python Tkinter 文本框小工具

Python Tkinter 检查按钮图像位置(指示器开)

  • 可以通过将 indicatoron 设置为 False 来放置图像。
  • 指示器负责创建一个带有复选标记的方框
  • 将 indicatoron 设置为 false 会删除默认指示器。
from tkinter import *
ws = Tk()
ws.title('PythonGudes')
ws.geometry('200x100')

def switchState():
    if cb1.get() == 1:
       disp_Lb.config(text='ON')

    elif cb1.get() == 0:
        disp_Lb.config(text='OFF')
    else:
        disp_Lb.config(text='error!')

switch_on = PhotoImage(width=50, height=50)
switch_off = PhotoImage(width=50, height=50)

switch_on.put(("green",), to=(0, 0, 23,23))
switch_off.put(("red",), to=(24, 0, 47, 23))
cb1 = IntVar()
Checkbutton(ws, image=switch_off, selectimage=switch_on, onvalue=1, offvalue=0, variable=cb1, indicatoron=False, command=switchState).pack(padx=20, pady=10)
disp_Lb = Label(ws)
disp_Lb.pack()
ws.mainloop()

输出:

在这个输出中,我们显示了一个可以用作开关的 Checkbutton。这个开关有两种颜色'红色'和'绿色'。每次点击,它都会在这些颜色之间切换。此外,还有一个消息框,显示绿色的和红色的

Python Tkinter Checkbutton image

Python Tkinter Checkbutton image

阅读: Python Tkinter Colors

t 内部检查按钮命令

  • 该命令用于传递任何函数或方法。
  • 命令包含当选择或取消选择 checkbutton 时将执行的操作的指令。
  • 使用关键字 command,后跟函数名。

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x250')

def isChecked():
    return Label(ws, text=f'Checkbutton is checked: , {cb.get()}').pack()

cb = BooleanVar()
checkme = Checkbutton(ws, text='Check Me',variable = cb, onvalue=True, offvalue=False, command=isChecked)
checkme.pack()

ws.mainloop()

输出:

在此输出中,创建了一个函数来以布尔形式显示按钮状态,即真或假。该函数作为命令在复选框中传递。现在,每次如果 checkbutton 被选中,它就打印 True,否则打印 False。

python tkinter checkbutton command

Python Tkinter Checkbutton get value

Tkinter Checkbutton 默认选中

  • 这意味着 cehck 框已经被选中。
  • 为此,我们需要做的就是在变量中提供值
  • 示例:cb = IntVar(value=1)

python tkinter checkbutton default

Tkinter Checkbutton default checked

Python Tkinter Checkbutton 值

  • 值在 Checkbutton 和 Radiobutton 中都起着重要的作用
  • 的类型由变量决定。
  • 如果变量是 IntVar() 这意味着值将是一个整数
  • 如果变量是 StringVar() 这意味着值将是字符串。
  • 如果变量是 BooleanVar() 这意味着值将为真或假
  • checkbutton 有两种类型的值:on value&off value
  • onvalue :选中复选框时返回提供的值。
  • offvalue: 返回复选框未选中时提供的值。
  • 通常 onvalue=1offvalue=0

语法:

cb = IntVar()

Checkbutton(ws, text="any text", variable=cb, onvalue=value, offvalue=value, command=function/method).pack()

代码:

在本例中,我们将on 值作为 5 ,将off 值作为 6 进行演示。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x80')

def isChecked():
    if cb.get() == 5:
        btn['state'] = NORMAL
        btn.configure(text='Awake!')
    elif cb.get() == 6:
        btn['state'] = DISABLED
        btn.configure(text='Sleeping!')
    else:
        messagebox.showerror('PythonGuides', 'Something went wrong!')

cb = IntVar(value=1)

Checkbutton(ws, text="accept T&C", variable=cb, onvalue=5, offvalue=6, command=isChecked).pack()
btn = Button(ws, text='Sleeping!', state=DISABLED, padx=20, pady=5)
btn.pack()

ws.mainloop()

输出:

输出没有区别,因为这是与上一节相同的程序。但是在这里,我们将开值指定为 5 ,将关值指定为 6

python tkinter checkbutton value

Python Tkinter Checkbutton value

t 内部检查按钮尺寸

  • 无法更改 Checkbutton 的大小。
  • 高度和宽度将改变复选按钮的位置。
  • 可以根据需要的大小放置图像。
  • 要了解更多>>请查看我们的 Tkinter Checkbutton 图像放置部分。

t 内部检查按钮设定值

  • Set value 用于设置 checkbutton 的默认值。
  • 设定值将取决于所用变量的类型。
  • 如果变量是整数,则集合中传递的参数必须是整数。
  • 为了更好地理解,我们将使用检查按钮值部分中的示例
  • 在该示例中,未选中条款和条件的 checkbutton
  • 但是我们会把它设置为检查。所以每次程序执行的时候,这个框都已经被选中了。

代码:

在这段代码中,我们将 checkbutton 的值设置为 1,表示它已被选中。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x80')

def isChecked():
    if cb.get() == 1:
        btn['state'] = NORMAL
        btn.configure(text='Awake!')
    elif cb.get() == 0:
        btn['state'] = DISABLED
        btn.configure(text='Sleeping!')
    else:
        messagebox.showerror('PythonGuides', 'Something went wrong!')

cb = IntVar()
cb.set(1)
Checkbutton(ws, text="accept T&C", variable=cb, onvalue=1, offvalue=0, command=isChecked).pack()
btn = Button(ws, text='Sleeping!', state=DISABLED, padx=20, pady=5)
btn.pack()

ws.mainloop()

输出:

在这个输出中,checkbutton 已经被选中。

python tkinter checkbutton set

t 内部检查按钮取消选择

  • “取消选择”用于从 checkbutton 中删除复选标记。
  • 如果用户想清除选择,在这种情况下,取消选择使用
  • 取消选择是一个函数&不需要参数。

代码:

在这段代码中,创建了多个 check button,这些 check button 默认设置为选中。有一个按钮可以取消所有的复选按钮。

from tkinter import *

ws = Tk() 
ws.geometry('300x250')
ws.title('Python Guides')

def clear_selection():
    cb1.deselect()
    cb2.deselect()
    cb3.deselect()
    cb4.deselect()
    cb5.deselect()
    cb6.deselect()

var = BooleanVar() 
var.set(True)

cb1 = Checkbutton(ws, text='Click me!', variable=var)
cb1.pack()
cb2 = Checkbutton(ws, text='Click me!', variable=var)
cb2.pack()
cb3 = Checkbutton(ws, text='Click me!', variable=var)
cb3.pack()
cb4 = Checkbutton(ws, text='Click me!', variable=var)
cb4.pack()
cb5 = Checkbutton(ws, text='Click me!', variable=var)
cb5.pack()
cb6 = Checkbutton(ws, text='Click me!', variable=var)
cb6.pack()

Button(ws, text='Deselect All Check buttons', command=clear_selection).pack()

ws.mainloop()

输出:

在这些输出中,第一个图像显示了代码的执行。而第二个图像显示了单击时取消选中 checkbuttons。使用取消选择功能可以取消选择多个复选按钮。

python tkinter checkbutton deselectpython tkinter checkbutton when clicked

t 内部检查按钮网格

  • 网格是一个几何管理器。
  • 它将小部件放置在一个 & 格式中

代码:

在这段代码中,使用网格创建 checkbuttons。提供给 checkbutton 的名称是指它们在格式中的位置。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x250')
ws.config(bg="grey")

Checkbutton(ws, text='0, 0').grid(row=0, column=0)
Checkbutton(ws, text='0, 1').grid(row=0, column=1)
Checkbutton(ws, text='0, 2').grid(row=0, column=1)
Checkbutton(ws, text='1, 0').grid(row=1, column=0)
Checkbutton(ws, text='1, 1').grid(row=1, column=1)
Checkbutton(ws, text='1, 2').grid(row=1, column=2)
Checkbutton(ws, text='2, 0').grid(row=2, column=0)
Checkbutton(ws, text='2, 1').grid(row=2, column=1)
Checkbutton(ws, text='2, 2').grid(row=2, column=2)

ws.mainloop()

输出:

在这个输出中,名为 1,2 的 Checkbutton 表示它位于第二列的第一行。同样,所有的复选按钮都根据它们的位置来命名。

python tkinter checkbutton grid

Python Tkinter Checkbutton 示例

让我们来看一个 Python Tkinter Checkbutton 的例子

举个例子,我们正在做一个迷你项目。我们正在创建一个简单的表格,将接受用户的详细信息&用户将无法点击提交按钮,直到他检查条款和条件。

代码:

from tkinter import *
from tkinter import messagebox

ws =Tk()
ws.title('PythonGuides')
ws.geometry('250x300')
ws.configure(bg='#dddddd')

def selection():
    choice = var.get()
    if choice == 1:
        m = 'Ms.'
    elif choice == 2:
        m = 'Mr.'
    elif choice == 3:
        pass
    return m

def submit():
    try:
        name = name_Tf.get()
        m = selection()
        return messagebox.showinfo('PythonGuides', f'{m} {name}, submitted form.')
    except Exception as ep:
        return messagebox.showwarning('PythonGuides', 'Please provide valid input')

def termsCheck():
    if cb.get() == 1:
        submit_btn['state'] = NORMAL
    else:
        submit_btn['state'] = DISABLED
        messagebox.showerror('PythonGuides', 'Accept the terms & conditions')

frame1 = Label(ws, bg='#dddddd')
frame1.pack()
frame2 = LabelFrame(frame1, text='Gender', padx=30, pady=10)

var =IntVar()
cb = IntVar()

Label(frame1, text='Full Name').grid(row=0, column=0, padx=5, pady=5)
Label(frame1, text='Email').grid(row=1, column=0, padx=5, pady=5)
Label(frame1, text='Password').grid(row=2, column=0, padx=5, pady=5)
Radiobutton(frame2, text='Female', variable=var, value=1,command=selection).pack()
Radiobutton(frame2, text='Male', variable=var, value=2,command=selection).pack(anchor=W)
Radiobutton(frame2, text='Others', variable=var, value=3,command=selection).pack()
name_Tf = Entry(frame1)
name_Tf.grid(row=0, column=2)
Entry(frame1).grid(row=1, column=2)
Entry(frame1, show="*").grid(row=2, column=2)
frame2.grid(row=3, columnspan=3,padx=30)
Checkbutton(frame1, text='Accept the terms & conditions', variable=cb, onvalue=1, offvalue=0,command=termsCheck).grid(row=4, columnspan=4, pady=5)
submit_btn = Button(frame1, text="Submit", command=submit, padx=50, pady=5, state=DISABLED)
submit_btn.grid(row=5, columnspan=4, pady=2)

ws.mainloop()

输出:

  • 在这个输出中,使用 python Tkinter 创建了一个简单的表单。
  • 使用了像标签、条目、单选按钮、复选按钮、框架、标签框架、按钮这样的小部件。
  • 按钮将保持在禁用状态,直到检查按钮被检查。
  • 该程序接受用户的详细信息,并在提交消息时提示标题、名称。

python tkinter checkbutton example

Tkinter Checkbutton example

这是这个程序的另一个输出截图。在这种情况下,按钮处于正常状态。

python tkinter checkbutton example output

Tkinter Checkbutton example

您可能会喜欢以下 python 教程:

在本教程中,我们已经了解了 Python Tkinter checkbutton 。此外,我们已经讨论了这些主题。

  • Tkinter Checkbutton python
  • Tkinter Checkbutton 获取值
  • Tkinter 复选按钮图像位置
  • Tkinter Checkbutton 命令
  • Tkinter Checkbutton 默认选中
  • Tkinter Checkbutton 值
  • t 内部检查按钮尺寸
  • Tkinter Checkbutton 设置值
  • Tkinter 复选按钮取消选择
  • Tkinter 复选按钮网格
  • Tkinter 复选框示例

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 颜色+示例

原文:https://pythonguides.com/python-tkinter-colors/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习如何使用 Python Tkinter 实现颜色。下面就让我们详细了解一下 Python Tkinter colors 的搭配要点:

  • Python Tkinter 颜色
  • Python Tkinter 颜色 RGB
  • Python Tkinter 颜色文本
  • Python Tkinter 颜色按钮
  • Python Tkinter 颜色选择器
  • Python Tkinter 颜色标签
  • Python Tkinter 彩色透明
  • Python Tkinter 颜色窗口

目录

Python Tkinter Colors

颜色在应用程序的用户界面/UX 中扮演着重要的角色。它为应用程序添加了专业的风格,有助于用户更长时间的参与。

  • 每种颜色背后都有一些想法,为应用程序选择正确的颜色是一门艺术&需要时间来掌握它。
  • 红色象征一个错误,绿色意味着没问题或完成了,黄色意味着某事没有完成,等等。
  • 每种颜色都有两种东西,开发者/用户可以提供其中任何一种:
    • 颜色名称:‘白烟’、‘红色’、‘花白色’、‘蓝色’等
    • 颜色代码 : #F5F5F5、#FF0000、#FFFAF0、0000FF 等

阅读: Python Tkinter 自动完成

Python Tkinter Colors RGB

Python Tkinter 不支持 RGB 格式的颜色输入,但是我们可以创建一个接受 RGB 格式输入的变通方法。

  • 在下面的程序中,你可以注意到我们创建了一个接受用户输入的函数,它添加了井号(#)作为前缀,字节码作为后缀。
  • 现在,在提供背景颜色的同时,我们使用了这个函数并提供了 RGB 值。
from tkinter import *

def rgb_hack(rgb):
    return "#%02x%02x%02x" % rgb  

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg=rgb_hack((255, 0, 122))) 
ws.mainloop()

输出:

在这个输出中,您可以看到窗口在代码中以 RGB 格式传递了一种颜色。

python tkinter colors rgb

Python Tkinter Color RGB

阅读: Python Tkinter 主循环示例

Python Tkinter 彩色文本

在这一节中,我们将学习如何在 Python Tkinter 中设置文本的颜色。

  • 前景fg 是接受用户颜色输入并设置字体或文本颜色的选项。
  • 这个选项在几乎所有的小部件中都很常见,可以应用于任何小部件的文本。
  • 在我们的例子中,我们将在文本框小部件上实现颜色。默认情况下,文本颜色是蓝色的,但我们将改变它为蓝色。
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#D9D8D7')
ws.geometry('400x300')

tb = Text(
    ws,
    width=25, 
    height=8,
    font=('Times', 20),
    wrap='word',
    fg='#4A7A8C'
)
tb.pack(expand=True)

ws.mainloop()

Python Tkinter 颜色文本的输出

在这个输出中,我们将文本的默认颜色从黑色改为浅蓝色。

python tkinter color text

Python Tkinter Text Color

阅读: Python Tkinter 滚动条

Python Tkinter 颜色按钮

在这一节中,我们将学习如何在 Python Tkinter 中改变按钮和按钮文本的颜色。

  • Python Tkinter 中的按钮部件主要应用了三种颜色。
    • 按钮文本颜色
    • 按钮背景颜色
    • 单击时按钮的颜色
  • 使用关键字前景前景可以改变按钮文本颜色。
  • 使用关键字背景背景可以改变按钮背景颜色。
  • 点击时按钮的颜色可以通过使用关键字 activebackground 来改变,要改变文本的颜色可以使用 activeforeground
  • 在我们的例子中,我们演示了当指针悬停在按钮上时改变颜色的按钮。
from tkinter import *

ws = Tk()
ws.titlSelect colorSelect colore('PythonGuides')
ws.config(bg='#D9D8D7')
ws.geometry('400x300')

Button(
    ws,
    text='Download',
    font=('Times', 20),
    padx=10,
    pady=10,
    bg='#4a7abc',
    fg='yellow',
    activebackground='green',
    activeforeground='white'
    ).pack(expand=True)

ws.mainloop()

输出:

在这个输出中,按钮的背景颜色是浅蓝色和黄色文本。当鼠标悬停在按钮上时,按钮会变成绿色背景和白色前景或文本颜色。

python tkinter color button

Python Tkinter Color Button

阅读: Python Tkinter 文本框小工具

Python Tkinter 颜色选择器

在这一节中,我们将学习使用 python tkinter 创建一个颜色选择器。

  • Python Tkinter 提供了 colorchooser 模块,使用该模块可以显示颜色工具箱。
  • 颜色选择器允许用户从颜色托盘中选择颜色。
  • colorchooser 以元组格式返回带有十六进制颜色代码的 RGB 代码。
  • 在我们的示例中,我们将创建一个应用程序,允许用户从颜色托盘中选择任何颜色,然后该颜色将显示在标签上。
from tkinter import *
from tkinter import colorchooser

def pick_color():
    color = colorchooser.askcolor(title ="Choose color")
    color_me.config(bg=color[1])
    color_me.config(text=color)

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')

color_me = Label(
    ws,
    text='(217, 217, 217) #d9d9d9',
    font = ('Times', 20),
    relief = SOLID,
    padx=20, 
    pady=20
)
color_me.pack(expand=True)
button = Button(
    ws, 
    text = "Choose Color",
    command = pick_color,
    padx=10,
    pady=10,
    font=('Times', 18),
    bg='#4a7a8c'
    )
button.pack()

ws.mainloop() 

输出:

在这个输出中,您可以看到当用户单击 choose color 按钮时,会弹出一个颜色托盘。并且标签将颜色变为选定的颜色。

python tkinter color chooser

Python Tkinter Color Chooser

这就是如何在 Python Tkinter 中使用颜色选择器。

阅读:Python Tkinter中的 grid()方法

Python Tkinter Color Label

在这一节中,我们将学习如何在 Python Tkinter 中改变标签小部件的颜色。

  • Python Tkinter 中的 Label 是一个小部件,用于在应用程序上显示文本和图像。
  • 我们可以在标签小部件和标签文本上应用颜色。
  • 使用背景或 bg 关键字给小部件标签着色,使用前景fg 关键字改变标签小部件的文本颜色。
  • 在本例中,我们有一个彩色标签小部件和标签文本。
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#D9D8D7')
ws.geometry('400x300')

Label(
    ws,
    text='This text is displayed \n using Label Widget',
    font=('Times', 20),
    padx=10,
    pady=10,
    bg='#4a7abc',
    fg='yellow'
    ).pack(expand=True)

ws.mainloop()

在此输出中,标签小部件涂有浅蓝色,标签文本涂有黄色

Python Tkinter Color Label

Python Tkinter Color Label

阅读: Python Tkinter 选项菜单

Python Tkinter 彩色透明

在这一节中,我们将学习如何在 Python Tkinter 中将颜色设置为透明。换句话说,从背景中去除所有的颜色,这样背景的东西开始透过窗口出现。

  • 该过程的第一步是使用 config 关键字设置窗口的背景颜色。
  • 现在在 wm_attributes() 中提供相同的背景颜色
  • 下面是 Python Tkinter 颜色透明的实现。
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')

ws.config(bg='#4a7a8c')

ws.wm_attributes('-transparentcolor','#4a7a8c')

ws.mainloop()

这里是 Python Tkinter 颜色透明的输出

在这个输出中,应用程序是透明的,您看到的颜色是桌面的背景色。

Python Tkinter Color Transparent

Python Tkinter Color Transparent

Python Tkinter 颜色窗口

在这一节中,我们将学习如何给 Python Tkinter 的主窗口着色。

  • 在 Python Tkinter 中,我们可以通过更改配置来更改小部件的默认设置。
  • 要更改配置,我们可以使用关键字配置配置
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#116562')

ws.mainloop()

输出:

在此输出中,显示的窗口颜色发生了变化。Python Tkinter 窗口的默认颜色是浅灰色,但是我们把它改成了绿色。

python tkinter color window

Python Tkinter Color Window

您可能会喜欢以下 Python Tkinter 教程:

在本教程中,我们学习了如何在 Python Tkinter 中使用颜色。此外,我们已经讨论了这些主题。

  • Python Tkinter 颜色
  • Python Tkinter 颜色示例
  • Python Tkinter 颜色 RGB
  • Python Tkinter 颜色文本
  • Python Tkinter 颜色按钮
  • Python Tkinter 颜色选择器
  • Python Tkinter 颜色标签
  • Python Tkinter 彩色透明
  • Python Tkinter 颜色窗口

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 拖放

原文:https://pythonguides.com/python-tkinter-drag-and-drop/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习如何使用 Python Tkinter 在屏幕上拖放小部件。除了 Python Tkinter 拖放,我们将涉及这些主题。

  • Python Tkinter 拖放
  • Python Tkinter 拖放文件
  • Python Tkinter 拖拽列表框
  • Python Tkinter 拖放文件夹
  • Python Tkinter 拖放 ide
  • Python Tkinter Treeview 拖放

目录

Python Tkinter 拖拽

  • 拖放是指在按住左键的同时移动小工具。用户可以在 x 轴或 y 轴上拖动小部件或对象。
  • 根据官方文档,要拖动一个对象,必须将一个事件绑定到一个回调函数。该函数应该调用**Tkdnd.dnd_start(source, event)**,其中'是要拖动的对象,'事件是调用该调用的事件。
  • 我们试过这种方法,但对我们没用。所以我们想出了一个解决办法。
  • 拖放涉及三个活动:
    • 鼠标按钮被按下
    • 鼠标被移动
    • 释放鼠标按钮
  • 并且所有这些活动都可以通过触发事件来执行。我们将使用鼠标按钮上的事件来拖放一个对象。
  • 在更进一步之前,让我们安装拖放所需的重要包。
    • 圣乔治·佩塔西斯的 tkdnd2.8
    • 【tkinterdnd 2】由瓣膜鼻子
  • 点击此处,跳转到下载 tkdnd2.8 的页面
  • 点击这里,下载tkinternd2
  • 一旦你下载了这两个文件,然后提取它们。
  • 导航到安装 Python 的文件夹,将tkinternd2文件夹放在Python/lib/site-packages&tkdnd 2.8文件夹内 Python/tcl 文件夹内。

第一步:

第一步是下载 tkdnd2.8tkinterndd 2。只要你点击这个链接,TkinterDnD2 就会被下载。对于 tkdnd2.8,单击此链接,您将被重定向到下面的页面。选择操作系统并下载文件。在我们的案例中,我们正在开发 windows 10。

python tkinter drag and drop installation

Python Tkinter drag and drop installation

第三步:

提取这两个文件并找到 python 的安装路径。在大多数情况下,它安装在这个位置C:\Users\username\AppData\Local \ Python。在我们的例子中,我们将 python 直接安装在 c 盘上,就像这样C:\Python

Python Tkinter drag and drop installation

Python Tkinter drag and drop installation

第四步:

这是两个文件浏览器的图片,一个有下载文件的路径,而另一个打开了 Python>tcl 文件夹。我们已经将 tkdndn2.8 文件夹拖到了Python/tcl文件夹中。

python tkinter drag and drop installation

Python Tkinter drag and drop installation

第五步:

导航至库,然后导航至 python 文件夹下的顶级站点包。将 TkinterDnD2 文件夹拖放到站点包中。

注意:你会在 tkinternd2-0.3 文件夹里找到tkinternd2

Python Tkinter drag and drop installation

Python Tkinter drag and drop installation

第六步:

现在,这只是一个检查包裹是否放在正确位置的测试。在您的 ide 中,如果它自动建议 TkinterDnD2 包,那么这意味着它正在工作。如果您在 idle、notepad 或任何其他不提供自动建议的平台上编写代码,您可以跳过这一步。

Install Python Tkinter Drag Drop

Install Python Tkinter Drag Drop

你可能喜欢看, Python 二叉树实现

Python Tkinter 拖放文件

  • 在本节中,我们将学习如何拖放文件。文本文件将被拖动到屏幕上,它会打开芳香。这意味着一旦文件被拖动到屏幕上,文件的内容就会显示出来。
  • 在这种情况下,我们只使用文本文件,但是您可以阅读任何带有流行扩展名的文件,如 pdf、CSV、word、excel 等。但是为了这个,你必须用熊猫。
  • 第一步是导入 Tkinter 和 TkinterDnD2
  • 这次我们将指定ws = TkinterDnD.Tk(),而不是
  • 该命令使文本框准备好接受拖放的文件。
  • textarea.dnd_bind('<<Drop>>', show_text) 在这里,drop 是一个事件,每次被拖动的文件被释放时都会调用该函数。 show_text 是一个会被调用的函数。
  • show_text() 函数保存先删除现有地层的指令,然后检查文件是否有 txt 扩展名。如果是,则读取文件并在文本框中显示信息。

**代码:

下面是代码,文本文件可以被拖动到窗口&它会显示文本。

from tkinter import *
from TkinterDnD2 import *

def show_text(event):
    textarea.delete("1.0","end")
    if event.data.endswith(".txt"):
        with open(event.data, "r") as file:
            for line in file:
                line=line.strip()
                textarea.insert("end",f"{line}\n")

ws = TkinterDnD.Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#fcb103')

frame = Frame(ws)
frame.pack()

textarea = Text(frame, height=18, width=40)
textarea.pack(side=LEFT)
textarea.drop_target_register(DND_FILES)
textarea.dnd_bind('<<Drop>>', show_text)

sbv = Scrollbar(frame, orient=VERTICAL)
sbv.pack(side=RIGHT, fill=Y)

textarea.configure(yscrollcommand=sbv.set)
sbv.config(command=textarea.yview)

ws.mainloop()

输出:

在这个输出中,虚拟文件是一个包含虚拟文本的文本文件。现在,当这个文件被拖动到窗口上时,就会显示文本。

python tkinter drag and drop file

Python Tkinter Drag Drop File

阅读 Python Tkinter 笔记本小工具

Python Tkinter 拖拽列表框

  • 在本节中,我们将学习如何使用 Python Tkinter 在 Listbox 上拖放对象。
  • Python Tkinter Listbox 是一个显示多个项目的小部件。它还允许您选择多个项目。
  • 点击下面的链接阅读更多关于 Python Tkinter Listbox 的信息。

代码:

在这段代码中,我们创建了一个 Listbox,它将显示拖放到其上的文件或文件夹的路径。多次重复活动将创建一个路径列表。

from tkinter import *
from TkinterDnD2 import *

def addto_listbox(event):
    lb.insert("end", event.data)

ws = TkinterDnD.Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#fcb103')

frame = Frame(ws)
frame.pack()

lb = Listbox(
    frame, 
    width=50,
    height=15,
    selectmode=SINGLE,
    )
lb.pack(fill=X, side=LEFT)
lb.drop_target_register(DND_FILES)
lb.dnd_bind('<<Drop>>', addto_listbox)

sbv = Scrollbar(
    frame,
    orient=VERTICAL
    )
sbv.pack(side=RIGHT, fill=Y)

lb.configure(yscrollcommand=sbv.set)
sbv.config(command=lb.yview)

ws.mainloop()

输出:

在这个输出中,不同扩展名的六个文件被拖动到 Listbox 上,每个文件路径都被记录下来。

Python Tkinter Drag and Drop Listbox

Python Tkinter Drag and Drop Listbox

Python Tkinter 拖拽文件夹

  • 在这一节中,我们将学习如何在 Python Tkinter 中拖放文件夹。
  • 这个部分类似于 Python Tkinter 拖放列表框。我们所要做的就是放置一个输入框,而不是列表框。

代码:

from tkinter import *
from TkinterDnD2 import *

def drop(event):
    var.set(event.data)

ws = TkinterDnD.Tk()
ws.title('PythonGuides')
ws.geometry('300x200')
ws.config(bg='#fcba03')

var = StringVar()
Label(ws, text='Path of the Folder', bg='#fcba03').pack(anchor=NW, padx=10)
e_box = Entry(ws, textvar=var, width=80)
e_box.pack(fill=X, padx=10)
e_box.drop_target_register(DND_FILES)
e_box.dnd_bind('<<Drop>>', drop)

lframe = LabelFrame(ws, text='Instructions', bg='#fcba03')
Label(
    lframe, 
    bg='#fcba03',
    text='Drag and drop the folder \nof your choice in the above text field.\n You will notice a path over there.'
    ).pack(fill=BOTH, expand=True)
lframe.pack(fill=BOTH, expand=True, padx=10, pady=10)

ws.mainloop()

输出:

在这个输出中,第一个图像显示了应用程序的界面。用户可以将文件夹拖放到文本字段中。它将显示文件夹的路径。相同的输出显示在下一张图片中。

Python Tkinter Drag and Drop Folder

Python Tkinter Drag and Drop Folder

在这张图片中,您可以看到文件夹被拖放到输入框中。现在,路径显示在输入框中。

python tkinter drag drop folder demo

Python Tkinter Drag and Drop Folder

Python Tkinter 拖放 ide

  • 在这一节中,我们将讨论 Tkinter ide,它允许我们通过拖放小部件来轻松地创建界面。
  • 有各种各样的选项可以这样做,比如 pygubuvisualtk 等等。我们个人推荐 visualtk。其背后的原因,它是在线的,并且完美地工作。
  • 你可以很容易地在屏幕上拖放部件,然后一旦你完成了设计,你就可以切换到代码标签。您可以看到应用程序自动生成的代码。
  • 我们已经附上了 visualtk 的图片。您可以看到如何使用简单的界面来创建有效的应用程序。

Python Tkinter Drag and Drop ide

Python Tkinter Drag and Drop ide

下面是上述程序的代码部分的屏幕截图。该代码是自动生成的。

Python Tkinter Drag and Drop ide

Python Tkinter Drag and Drop ide

Python Tkinter Treeview 拖拽

  • 在本节中,我们将学习在 Treeview 中拖放项目。
  • Treeview 是数据的表格表示。它还允许创建父子对象。
  • 点击下方点击阅读更多关于 Python Tkinter Treeview

代码:

在这段代码中,我们在一个树形视图中显示了雇员信息。

.from tkinter import *
from tkinter import ttk

def downwars_shift(event):
    tv = event.widget
    select = [tv.index(s) for s in tv.selection()]
    select.append(tv.index(tv.identify_row(event.y)))
    select.sort()
    for i in range(select[0],select[-1]+1,1):
        tv.selection_add(tv.get_children()[i])

def move_down(event):
    tv = event.widget
    if tv.identify_row(event.y) not in tv.selection():
        tv.selection_set(tv.identify_row(event.y))    

def move_up(event):
    tv = event.widget
    if tv.identify_row(event.y) in tv.selection():
        tv.selection_set(tv.identify_row(event.y))    

def upward_shift(event):
    pass

def Movement(event):
    tv = event.widget
    moveto = tv.index(tv.identify_row(event.y))    
    for s in tv.selection():
        tv.move(s, '', moveto)

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#037272')

tv = ttk.Treeview(ws)
tv['columns']=('Eid', 'Name', 'Department')
tv.column('#0', width=0, stretch=NO)
tv.column('Eid', anchor=CENTER, width=80)
tv.column('Name', anchor=CENTER, width=80)
tv.column('Department', anchor=CENTER, width=80)

tv.heading('#0', text='', anchor=CENTER)
tv.heading('Eid', text='Id', anchor=CENTER)
tv.heading('Name', text='Name', anchor=CENTER)
tv.heading('Department', text='Department', anchor=CENTER)

tv.insert(parent='', index=0, iid=0, text='', values=('E01','Vineet','Cisco'))
tv.insert(parent='', index=1, iid=1, text='', values=('E02','Anil','Design'))
tv.insert(parent='', index=2, iid=2, text='', values=('E03','Vaishali','IT/Security'))
tv.insert(parent='', index=3, iid=3, text='', values=('E04','Vimal','Support'))
tv.insert(parent='', index=4, iid=4, text='', values=('E05','Ankita','HR'))
tv.pack(pady=20)

tv.bind("<ButtonPress-1>",move_down)
tv.bind("<ButtonRelease-1>",move_up, add='+')
tv.bind("<B1-Motion>",Movement, add='+')
tv.bind("<Shift-ButtonPress-1>",downwars_shift, add='+')
tv.bind("<Shift-ButtonRelease-1>",upward_shift, add='+')

style = ttk.Style()
style.theme_use("default")
style.map("Treeview")
ws.mainloop() 

输出:

在这个输出中,我们显示了雇员信息。

python tkinter drag and drop treeview

Python Tkinter Treeview Drag and Drop

在第二张图片中,您可以注意到我们将 E01 拖到了第三个位置。

python tkinter drag and drop treeview demo

Python Tkinter Treeview Drag and Drop

您可能会喜欢以下 Python Tkinter 教程:

在本教程中,我们已经学习了如何使用 Python Tkinter 拖放对象。此外,我们已经讨论了这些主题。

  • Python Tkinter 拖放
  • Python Tkinter 拖放文件
  • Python Tkinter 拖放列表框
  • Python Tkinter 拖放文件夹
  • Python Tkinter 拖放 ide
  • Python Tkinter Treeview 拖放

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/**

Python Tkinter 编辑器+示例

原文:https://pythonguides.com/python-tkinter-editor/

Python & Machine Learning training courses

在本 Python Tkinter 教程中,我们将借助一些例子来了解 Python Tkinter 编辑器。我们还将讨论以下主题。

  • Python Tkinter 编辑器
  • Python Tkinter 文本编辑器
  • Python Tkinter 在线编辑器
  • Python Tkinter 代码编辑器
  • Python tkinter GUI 编辑器
  • Python Tkinter JSON 编辑器
  • Python Tkinter 图像编辑器

目录

Python Tkinter 编辑器

在本节中,我们将学习如何使用 Python Tkinter 创建编辑器。但是在学习 Python Tkinter 编辑器之前,我们应该先了解一个“编辑器”的知识。

一个编辑器是一个空间,用户可以在这里编写代码、文本、信息或任何有用的文本。它还包括为文章、报纸等选择、准备和撰写任何文本的过程。

代码:

在下面的代码中,我们必须制作一个框架,在这个框架中,有一个编辑器,用户可以在其中的一个框中插入文本。

from tkinter import *

ws = Tk()

ws.geometry('500x500')
ws.title("Python Guides")

def call():
    text = text_edit.get(0.3,END)
    print(text)

text_edit = Text(ws, width=56, height=25)

text_edit.pack()

ws.mainloop()

输出:

在下面的输出中,我们可以看到我们的代码是如何工作的,因为在输出中它显示了一个框架,在这个框架中有一个编辑器。

Python Tkinter Editor Example

Python Tkinter Editor

阅读: Python Tkinter 表教程

Python Tkinter 文本编辑器

在本节中,我们将学习如何在 python Tkinter 文本编辑器中编辑文本。

在继续之前,我们应该了解一下什么是文本编辑器?

从计算机学习或计算机编程开始,我们可能在不同的工作空间工作,那里有不同的编辑。我们在日常生活中使用它们,其中一些是写字板记事本等。

这个例子可以很容易地使我们理解和清楚地了解文本编辑器。

代码:

在下面的代码中,我们必须制作一个框架,在这个框架中,有一个文本框,我们可以在其中退出文本。在底部,有一个按钮,它在控制台上显示我们在文本框中输入的文本。

from tkinter import *

ws = Tk()

ws.geometry('500x500')
ws.title("Python Guides")

def call():
    text = text_edit.get(0.3,END)
    print(text)

text_edit = Text(ws, width=56, height=25)

text_edit.pack()

text_button = Button(ws,text="Show Text", command= call)
text_button.pack(pady =10)

ws.mainloop()

输出:

下面的代码给出了下面的输出,用户可以在文本编辑器字段中输入文本。并且通过点击"显示文本按钮,它向控制台显示一个文本。

Python Tkinter text editor

Python Tkinter text editor example

在下面的输出中,我们可以看到用户输入了一些文本,它在文本编辑器中是可见的,用户可以在文本中书写和修改。

Python Tkinter text 1 Editor

Text Editor in Python Tkinter

阅读: Python Tkinter 测验

Python Tkinter 在线编辑

在本节中,我们将学习Python Tkinter 在线编辑器如何工作

在线编辑器是程序员以在线模式编写或编辑代码的工作空间。

代码:

from tkinter import *
from tkinter.filedialog import askopenfilename, asksaveasfilename
import subprocess

ws = Tk()
ws.title('Python Guides')

Cpath = ''

def Runthiscode():
    global Cpath
    if Cpath == '':
        SaveMessage = Toplevel()
        message = Label(SaveMessage, text="Save this File")
        message.pack()
        return
    Command = f'python {Cpath}'
    process = subprocess.Popen(Command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    result, Error = process.communicate()
    Result.insert('1.0',result)
    Result.insert('1.0',Error)

def Openthisfile():
    path = askopenfilename(filetypes=[('Python Files','*.py')])
    with open(path, 'r') as file:
        code = file.read()
        editor.delete('1.0', END)
        editor.insert('1.0', code)
        global Cpath
        Cpath = path

def SavethisfileAs():
    global gpath
    if Cpath =='':
        path = asksaveasfilename(filetypes=[('Python Files','*.py')])
    else:
        path = Cpath    
    with open(path, 'w') as file:
        code = editor.get('1.0', END)
        file.write(code)

editor = Text()
editor.config(bg='white', fg='blue', insertbackground='black')
editor.pack()

Result = Text(height=7)
Result.config(bg='black', fg='green')
Result.pack()

Menu_option = Menu(ws)

File_option = Menu(Menu_option, tearoff=0)
File_option.add_command(label='Open', command = Openthisfile)
File_option.add_command(label='Save', command = SavethisfileAs)
File_option.add_command(label='SaveAs', command = SavethisfileAs)
File_option.add_command(label='Exit', command = exit)
Menu_option.add_cascade(label='File', menu = File_option)

Compile_option = Menu(Menu_option, tearoff=0)
Compile_option.add_command(label='compile', command = Runthiscode)
Menu_option.add_cascade(label='compile', menu = Compile_option)

ws.config(menu=Menu_option)
ws.mainloop()

这些是代码的主要亮点。

  • Cpath = ' ' 用于给出文件的路径。
  • Result.insert() 用于插入值。
  • editor.delete() 用于删除数值。
  • Menu _ option . add _ cascade()用于设置父单元格的层级菜单。

输出:

在下面的输出中,我们使用在线编辑器来运行代码。我们编写代码,然后保存它。

Python Tkinter Online editor

Python tkinter online editor

保存代码后,我们单击编译选项,如我们在输出中看到的。

Python Tkinter Online editor example

Python tkinter onlinee editor example

编译后,将生成以下最终输出。

Python Online Compiler Editor

online editor Python tkinter

阅读:使用 Tkinter 中 pyqrcode 的 Python QR 码生成器

Python Tkinter 代码编辑器

在这一节中,我们将学习如何使用 Python Tkinter 创建代码编辑器。

在转向代码之前,我们需要知道什么是代码编辑器以及我们为什么使用它?

代码编辑器是一个工作空间,程序员或开发人员可以在这里编写代码,以运行下面的问题语句。

我们使用代码编辑器来编写不同语言的不同代码,如 Python、C++、Java、R、Ruby 等。遵循他们的语法,这有助于按照要求运行代码。

代码:

在下面的代码编辑器中,我们必须制作一个编辑框,在这里我们可以编写一个程序,它还显示了代码的语法错误。

from tkinter import *
from tkinter.filedialog import askopenfilename, asksaveasfilename
import subprocess

ws = Tk()
ws.title('Python Guides')

Cpath = ''

def Runthiscode():
    global Cpath
    if Cpath == '':
        SaveMessage = Toplevel()
        message = Label(SaveMessage, text="Save this File")
        message.pack()
        return
    Command = f'python {Cpath}'
    process = subprocess.Popen(Command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    result, Error = process.communicate()
    Result.insert('1.0',result)
    Result.insert('1.0',Error)

def Openthisfile():
    path = askopenfilename(filetypes=[('Python Files','*.py')])
    with open(path, 'r') as file:
        code = file.read()
        editor.delete('1.0', END)
        editor.insert('1.0', code)
        global Cpath
        Cpath = path

def SavethisfileAs():
    global gpath
    if Cpath =='':
        path = asksaveasfilename(filetypes=[('Python Files','*.py')])
    else:
        path = Cpath    
    with open(path, 'w') as file:
        code = editor.get('1.0', END)
        file.write(code)

editor = Text()
editor.config(bg='white', fg='blue', insertbackground='black')
editor.pack()

Result = Text(height=7)
Result.config(bg='black', fg='green')
Result.pack()

Menu_option = Menu(ws)

File_option = Menu(Menu_option, tearoff=0)
File_option.add_command(label='Open', command = Openthisfile)
File_option.add_command(label='Save', command = SavethisfileAs)
File_option.add_command(label='SaveAs', command = SavethisfileAs)
File_option.add_command(label='Exit', command = exit)
Menu_option.add_cascade(label='File', menu = File_option)

Compile_option = Menu(Menu_option, tearoff=0)
Compile_option.add_command(label='compile', command = Runthiscode)
Menu_option.add_cascade(label='compile', menu = Compile_option)

ws.config(menu=Menu_option)
ws.mainloop()

输出:

运行这段代码后,我们得到了一个可以写代码的工作空间,在底部,我们可以看到运行代码的编译后的程序。如果有任何错误,它将显示如下代码所示的语法错误,我们可以在控制台上看到。

python tkinter code editor

Syntax error Output

在检查错误并进行纠正后,我们得到了代码的最终输出。

python tkinter code editor example

Python tkinter code editor

最终的输出向我们展示了一个表格,表格中有行和列,网格线有助于在表格中划分行和列。

Python tkinter code editor example

Python tkinter code editor example

阅读:如何用 Python Tkinter 创建贪吃蛇游戏

Python tkinter GUI 编辑器

在本节中,我们将学习一个 Python Tkinter GUI 编辑器。但是什么是 GUI 编辑器?

GUI 代表图形用户界面,“GUI 编辑器”是一个工作空间,普通用户使用它来编写、编辑或准备文本框上的内容。

代码:

在下面的代码中,我们必须在菜单栏中创建一个工作区和一个文件,这有助于保存、另存为、打开和退出 python guides 记事本。

from tkinter import *
from tkinter.filedialog import askopenfilename, asksaveasfilename
import subprocess

ws = Tk()
ws.title('Python Guides')

Cpath = ''

def Openthisfile():
    path = askopenfilename(filetypes=[('Python Files','*.py')])
    with open(path, 'r') as file:
        code = file.read()
        editor.delete('1.5', END)
        editor.insert('1.5', code)
        global Cpath
        Cpath = path

def SavethisfileAs():
    global gpath
    if Cpath =='':
        path = asksaveasfilename(filetypes=[('Python Files','*.py')])
    else:
        path = Cpath    
    with open(path, 'w') as file:
        code = editor.get('1.5', END)
        file.write(code)

editor = Text()
editor.config(bg='white', fg='blue', insertbackground='black')
editor.pack()

Result = Text(height=7)
Result.config(bg='black', fg='green')
Result.pack()

Menu_option = Menu(ws)

File_option = Menu(Menu_option, tearoff=0)
File_option.add_command(label='Open', command = Openthisfile)

输出:

运行下面的代码后,我们得到了这个输出,在这里我们可以创建一个工作区并添加一些上下文。

Python Tkinter GUI editor

Python tkinter GUI editor

添加上下文后,我们现在使用步骤保存该文件

  • 点击文件的选项。
  • 寻找“保存按钮。
  • 点击文件菜单栏中的保存按钮

Python Tkinter GUI Example

Python tkinter GUI editor example

  • 点击保存按钮后,它会询问我们要保存文件的位置。
  • 给出一个我们想用来保存文件的文件名。
  • 点击保存按钮。
  • 我们的文件将被保存。

GUI editor Python tkinter

GUI editor Python tkinter

为了检查我们的文本是否被保存,我们可以从我们保存的位置打开一个文件,我们可以将它作为输出。

GUI editor using Python tkinter

GUI editor using Python Tkinter

阅读: Python Tkinter 图片

Python Tkinter JSON 编辑器

在本节中,我们将学习 Python Tkinter JSON 编辑器

JSON 编辑器是什么?

JSON 编辑器是一个编辑器,我们可以在其中查看、编辑、打开和打印'。json 文件。 JSON 代表 JavaScript 对象符号

在下面的代码中,我们制作了一个表单,用户可以在其中输入数据,输入数据被转换成 JSON 文件。我们可以使用生成的文件来编辑、查看、打开和打印。

from tkinter import *
import json
from tkinter.filedialog import asksaveasfile

ws = Tk()
ws.geometry('640x300')
ws.title('Python Guides')

test = 1
def jSONfile(path, fileName, data):
        json.dump(data, path)

path = './'

def check():
    x= int(ID.get())
    y = test * Name.get()
    z = Batch.get()
    print(x)
    print(y)
    print(z)
    data = {}
    data['ID'] = x
    data['Name'] = y
    data['Batch'] = z
    File = [('JSON_File', '*.json')]
    File_Name='IOTEDU'
    File_position = asksaveasfile(filetypes = File,defaultextension = json,initialfile='IOTEDU')
    jSONfile(File_position, File_Name, data)

id = Label(ws, text="ID:")
ID = Entry(ws)
name = Label(ws, text="Name:")
Name = Entry(ws)
batch = Label(ws, text="Batch:")
Batch = Entry(ws)

id.grid(row=0, column=0)
ID.grid(row=0,column=1)
name.grid(row=4,column=0)
Name.grid(row=4, column=1)
batch.grid(row=6, column=0)
Batch.grid(row=6, column=1)

submit = Button(ws,text='Submit',command = check).grid(row=8, column=1)

ws.mainloop()

运行下面的代码后,我们得到一个表单,要求输入一个 Id、名称、批次。提交后,我们得到了以下 JSON 格式的数据,稍后我们可以编辑、查看和打印这些数据。

Python tkinter Json editor

Python Tkinter JSON editor

现在在下图中,我们可以看到我们已经输入了一个 ID名称批次,并提交给 JSON 输出。

Python tkinter Json examp editor

JSON editor using Python Tkinter

提交之后,我们得到了 JSON 格式的输出。

JSON editor using Python Tkinter

JSON editor using Python Tkinter

阅读: Python Tkinter Colors

Python Tkinter 图像编辑器

在这一节中,我们将学习如何使用 Python Tkinter 创建一个图像编辑器。

图像编辑器用于编辑图像,如旋转、添加边框、添加对比度、增加亮度、添加边框和使图像模糊。借助图像编辑,我们可以提高图像的可视性。

代码:

在下面的代码中,我们制作了一个图像编辑器,可以从本地位置选择图像。并在这里添加它和其他功能是使图像模糊,增加对比度,增加亮度,旋转,翻转从左到右,或从上到下,并添加边框。

from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter.filedialog import askopenfilename,asksaveasfilename
from PIL import Image, ImageTk, ImageFilter, ImageEnhance, ImageOps
import os
# contrast border thumbnail 
ws = Tk()
ws.title("Simple Photo Editor")
ws.geometry("640x640")
# create functions
def selected():
    global image_path, image
    image_path = filedialog.askopenfilename(initialdir=os.getcwd()) 
    image = Image.open(image_path)
    image.thumbnail((350, 350))
    #imgg = img.filter(ImageFilter.BoxBlur(0))
    image1 = ImageTk.PhotoImage(image)
    canvas2.create_image(300, 210, image=image1)
    canvas2.image=image1                                                                                                                                                                                                                
def blur(event):
    global image_path, image1, imgg
    for m in range(0, v1.get()+1):
            image = Image.open(image_path)
            image.thumbnail((350, 350))
            imgg = image.filter(ImageFilter.BoxBlur(m))
            image1 = ImageTk.PhotoImage(imgg) 
            canvas2.create_image(300, 210, image=image1)
            canvas2.image=image1
def brightness(event):
    global image_path, image2, image3
    for m in range(0, v2.get()+1):
            image = Image.open(image_path)
            image.thumbnail((350, 350))
            imgg = ImageEnhance.Brightness(image)
            image2 = imgg.enhance(m)
            image3 = ImageTk.PhotoImage(image2)
            canvas2.create_image(300, 210, image=image3)
            canvas2.image=image3
def contrast(event):
    global image_path, image4, image5
    for m in range(0, v3.get()+1):
            image = Image.open(image_path)
            image.thumbnail((350, 350))
            imgg = ImageEnhance.Contrast(image)
            image4 = imgg.enhance(m)
            image5 = ImageTk.PhotoImage(image4)
            canvas2.create_image(300, 210, image=image5)
            canvas2.image=image5
def rotate_image(event):
        global image_path, image6, image7
        image = Image.open(image_path)
        image.thumbnail((350, 350))
        image6 = image.rotate(int(Rotate_combo.get()))
        image7 = ImageTk.PhotoImage(image6)
        canvas2.create_image(300, 210, image=image7)
        canvas2.image=image7

def flip_image(event):
        global image_path, image8, image9
        image = Image.open(image_path)
        image.thumbnail((350, 350))
        if Flip_combo.get() == "FLIP LEFT TO RIGHT":
            image8 = image.transpose(Image.FLIP_LEFT_RIGHT)
        elif Flip_combo.get() == "FLIP TOP TO BOTTOM":
            image8 = image.transpose(Image.FLIP_TOP_BOTTOM)
        image9 = ImageTk.PhotoImage(image8)
        canvas2.create_image(300, 210, image=image9)
        canvas2.image=image9   
def image_border(event):
    global image_path, image10, image11
    image = Image.open(image_path)
    image.thumbnail((350, 350))
    image10 = ImageOps.expand(image, border=int(Border_combo.get()), fill=95)
    image11 = ImageTk.PhotoImage(image10)
    canvas2.create_image(300, 210, image=image11)
    canvas2.image=image11    
image1 = None
image3 = None
image5 = None
image7 = None
image9 = None
image11 = None
def save():
    global image_path, imgg, image1, image2, image3, image4, image5, image6, image7, image8, image9, image10, image11
    #file=None
    ext = image_path.split(".")[-1]
    file=asksaveasfilename(defaultextension =f".{ext}",filetypes=[("All Files","*.*"),("PNG file","*.png"),("jpg file","*.jpg")])
    if file: 
            if canvas2.image==image1:
                imgg.save(file)
            elif canvas2.image==image3:
                image2.save(file)
            elif canvas2.image==image5:
                image4.save(file)
            elif canvas2.image==image7:
                image6.save(file)
            elif canvas2.image==image9:
                image8.save(file)
            elif canvas2.image==image11:
                image10.save(file)        
# create labels, scales and comboboxes
blurr = Label(ws, text="Blur:", font=("ariel 17 bold"), width=9, anchor='e')
blurr.place(x=15, y=8)
v1 = IntVar()
scale = ttk.Scale(ws, from_=0, to=10, variable=v1, orient=HORIZONTAL, command=blur) 
scale.place(x=150, y=10)
bright = Label(ws, text="Brightness:", font=("ariel 17 bold"))
bright.place(x=8, y=50)
v2 = IntVar()   
Scale1 = ttk.Scale(ws, from_=0, to=10, variable=v2, orient=HORIZONTAL, command=brightness) 
Scale1.place(x=150, y=55)
contrast = Label(ws, text="Contrast:", font=("ariel 17 bold"))
contrast.place(x=35, y=92)
v3 = IntVar()   
Scale2 = ttk.Scale(ws, from_=0, to=10, variable=v3, orient=HORIZONTAL, command=contrast) 
Scale2.place(x=150, y=100)
Rotate = Label(ws, text="Rotate:", font=("ariel 17 bold"))
Rotate.place(x=370, y=8)
values = [0, 90, 180, 270, 360]
Rotate_combo = ttk.Combobox(ws, values=values, font=('ariel 10 bold'))
Rotate_combo.place(x=460, y=15)
Rotate_combo.bind("<<ComboboxSelected>>", rotate_image)
Flip = Label(ws, text="Flip:", font=("ariel 17 bold"))
Flip.place(x=400, y=50)
values1 = ["FLIP LEFT TO RIGHT", "FLIP TOP TO BOTTOM"]
Flip_combo = ttk.Combobox(ws, values=values1, font=('ariel 10 bold'))
Flip_combo.place(x=460, y=57)
Flip_combo.bind("<<ComboboxSelected>>", flip_image)
border = Label(ws, text="Add border:", font=("ariel 17 bold"))
border.place(x=320, y=92)
values2 = [i for i in range(10, 45, 5)]
Border_combo = ttk.Combobox(ws, values=values2, font=("ariel 10 bold"))
Border_combo.place(x=460, y=99)
Border_combo.bind("<<ComboboxSelected>>", image_border)
# create canvas to display image
canvas2 = Canvas(ws, width="600", height="420", relief=RIDGE, bd=2)
canvas2.place(x=15, y=150)
# create buttons
button1 = Button(ws, text="Select Image", bg='black', fg='gold', font=('ariel 15 bold'), relief=GROOVE, command=selected)
button1.place(x=100, y=595)
button2 = Button(ws, text="Save", width=12, bg='black', fg='gold', font=('ariel 15 bold'), relief=GROOVE, command=save)
button2.place(x=280, y=595)
button3 = Button(ws, text="Exit", width=12, bg='black', fg='gold', font=('ariel 15 bold'), relief=GROOVE, command=ws.destroy)
button3.place(x=460, y=595)
ws.mainloop() 

输出:

运行下面的代码后,我们得到了一个输出,我们可以从本地位置选择一个图像,并在一个框中编辑它。

Python Tkinter Image editor

Python Tkinter image editor

我们可以看到在这个图像里面添加了一个边框,带有“ 20 ,并将图像从翻转到

Python Tkinter Image editor Example

Python Tkinter image editor example

你可能也喜欢读下面的文章。

在本教程中,我们学习了关于 Python Tkinter 编辑器的知识,并且我们还涵盖了以下主题。

  • Python Tkinter 编辑器
  • Python Tkinter 文本编辑器
  • Python Tkinter 在线编辑器
  • Python Tkinter 代码编辑器
  • Python tkinter GUI 编辑器
  • Python Tkinter JSON 编辑器
  • Python Tkinter 图像编辑器

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 入口–如何使用

原文:https://pythonguides.com/python-tkinter-entry/

Python & Machine Learning training courses

在本 Python 教程中,我们将详细讨论关于 Python tkinter entry

  • Python Tkinter 入口小部件
  • Python Tkinter 条目默认值
  • Python Tkinter 条目占位符
  • Python Tkinter 条目集文本
  • Python Tkinter 条目获取文本
  • Python Tkinter 入口高度
  • Python Tkinter 条目文本变量
  • 输入 Python Tkinter 输入命令

目录

Python Tkinter 条目

在 Python 中,如果您想以单行字符串的形式接受用户输入,那么我们应该使用 Python Tkinter Entry。让我们再检查一下。

另外,如果你是第一次接触 Python GUI 编程,请查看文章 Python GUI 编程(Python Tkinter)如何使用 Tkinter 创建 Python 计算器。

Tkinter 入口小工具

  • Python tkinter 入口小部件用于接收用户输入。
  • 它是一个广泛使用的小部件,可以在任何应用程序中找到,而不管编程语言是什么。
  • java 里叫 TextField。
  • 这是一个单行的盒子,用户可以在里面输入一些东西。
  • 与 java 不同,Tkinter 没有单独的多行条目小部件。
  • 要允许多行输入,请增加入口小部件的高度。

你可能会喜欢, Python Tkinter Title

Tkinter 输入默认值

  • 占位符和默认值之间只有一线之差。
  • 如果用户不提供任何输入,那么默认值将被用作参数。
  • 但是在占位符的情况下,它们永远不能用作值。它们被放置来显示信息或模式。
  • 但是在 Tkinter 中默认值 & 占位符与相同
  • 有两种方法可以做到:
    • Entry.insert
    • 文本变量
  1. Entry.insert:
  • insert 关键字用于插入单词或句子
  • END 决定紧接着最后一个字符输入下一个字符

代码:

from tkinter import *

ws = Tk()

info_Tf = Entry(ws)
info_Tf.insert(END, 'You email here')
info_Tf.pack()

ws.mainloop()

输出:输出显示文本框中已经提到的文本。

Python Tkinter entry default value

Tkinter entry default value

2.文本变量

  • textvariable 用于通过变量提供值
  • 值可以是整数字符串
  • 对于整数: IntVar() 关键字被使用
  • 对于字符串:使用 StringVar() 关键字

代码:

from tkinter import * 

ws = Tk()
name = StringVar(ws, value='not available')
nameTf = Entry(ws, textvariable=name).pack()

ws.mainloop()

输出:在该输出中,如果用户不提供任何信息,则“不可用”将被视为默认输入

Tkinter entry placeholder

Entry default value using textvariable

Tkinter 条目占位符

  • 占位符与默认值相同。
  • 参考t 输入默认值部分

Python Tkinter 条目集文本

  • 设置文本用于在 Python tkinter 中设置条目框中的文本。
  • 它与函数一起使用,起到在输入框中输入文本的作用。
  • 我们将创建一个函数,并使用按钮调用该函数。
  • 当用户点击按钮时,值将被插入到输入框中。

代码:

在这段代码中,有一个游戏,你必须找到一个戒指。点击其中一个盒子,你会得到一个戒指。明智地选择。

from tkinter import *

def chooseOne(res):
    userInput.delete(0, END)
    userInput.insert(0, res)
    return

ws = Tk()
ws.title("find the ring")
ws.geometry("400x250")

frame = Frame(ws)
userInput = Entry(frame, width=40, justify=CENTER)
userInput.grid(row=0, columnspan=3, padx=5, pady= 10)

Button(frame,text="Box 1",command=lambda:chooseOne("Nada!, try again")).grid(row=1, column=0)
Button(frame,text="Box 2 ",command=lambda:chooseOne("Great! You found the ring")).grid(row=1, column=1)
Button(frame,text="Box 3",command=lambda:chooseOne("Nada! try again")).grid(row=1, column=2)
frame.pack()

ws.mainloop()

输出:

在这个输出中,有一个游戏,你必须找到一个戒指。点击其中一个盒子,你会得到一个戒指。明智地选择

Python Tkinter entry set text

Python Tkinter entry set text

用户未能获得正确的按钮。在输入框中设置消息“没有,再试一次”

How to set text in Python Tkinter entry

Python Tkinter entry set text

用户按下右键,消息“太好了!你在入口盒里发现了戒指。

你可能喜欢阅读,使用 Python Tkinter 的身体质量指数计算器。

Python Tkinter 条目获取文本

  • Get text 用于从 Python Tkinter entry 小部件获取值。
  • 换句话说,Get text 提取用户提供的任何值。
  • 如果要使用用户提供的值,那么使用 get 文本。

代码:

在这个例子中,用户提供了他的名字,程序打印出带有他名字的欢迎消息。

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('get text demo')
ws.geometry('200x200')

def welcomeMessage():
    name = name_Tf.get()
    return messagebox.showinfo('message',f'Hi! {name}, Welcome to python guides.')

Label(ws, text="Enter Name").pack()
name_Tf = Entry(ws)
name_Tf.pack()

Button(ws, text="Click Here", command=welcomeMessage).pack()

ws.mainloop()

输出:

在此输出中,用户提供的名称为“Alpha”。程序正在使用此名称发送名为的问候消息。

Tkinter entry get

Python Tkinter entry get text

Python Tkinter 入口高度

  • 输入框只有一行
  • 需要高度以方便多行输入。
  • 使用了 height 关键字&它接受一个整数作为输入。
  • 多行输入框也被称为文本区

代码:

from tkinter import *

ws = Tk()
ws.geometry("400x250")

text_area = Text(ws, height=10, width=30).pack()

ws.mainloop()

输出:

输入框是单行的,但是在这个例子中,空白是输入行。它可以接受多行输入。

Python Tkinter entry height

Tkinter entry height

PythonTkinter 条目文本变量

  • textvariable 用于通过变量提供值
  • 值可以是整数字符串
  • 对于整数: IntVar() 关键字被使用
  • 对于字符串:使用 StringVar() 关键字。

代码:

from tkinter import * 

ws = Tk()
name = StringVar(ws, value='not available')
nameTf = Entry(ws, textvariable=name).pack()

ws.mainloop()

输出:在该输出中,如果用户不提供任何信息,则“不可用”将被视为默认输入

Entry default value using textvariable

Tkinter entry textvariable

Python Tkinter 输入命令输入

  • 它仅仅意味着,当用户点击键盘上的回车键时会发生什么动作。
  • 这也称为键绑定
  • 每当用户在入口小部件中提供输入并点击 enter 时,就会触发一些动作。
  • 该动作可以是验证、打印消息等形式。
  • 让我们通过一个例子来更好地理解这一点

举例:

  • 编写一段代码,打印带有用户名的欢迎消息。
  • 用户将在入口小部件中输入名称,然后点击 enter。

代码:

  • 我们使用绑定函数来执行上述任务
  • 绑定语法: name_Tf.bind('<Return>', function)
  • 在这种情况下,函数为 welMsg
from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('pythonguides')
ws.geometry('250x200')

def welMsg(name):
    name = name_Tf.get()
    return messagebox.showinfo('pythonguides', f'Hi! {name}, welcome to pythonguides' )

Label(ws, text='Enter Name & hit Enter Key').pack(pady=20)
name_Tf = Entry(ws)
name_Tf.bind('<Return>',welMsg)
name_Tf.pack()

ws.mainloop()

输出:

所以在这里,没有按钮来触发功能。用户输入了名称“Alpha”并按下了 enter。输出用他的名字问候他。

Tkinter entry command on enter

Tkinter entry command on enter

您可能会喜欢以下 Python 教程:

在本教程中,我们详细研究了 Python 中的入口小部件,我们也涵盖了这些主题。

  • Python Tkinter 入口小部件
  • Python Tkinter 条目默认值
  • Python Tkinter 条目占位符
  • Python Tkinter 条目集文本
  • Python Tkinter 条目获取文本
  • Python Tkinter 入口高度
  • Python Tkinter 条目文本变量
  • 输入 Python Tkinter 输入命令

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 事件

原文:https://pythonguides.com/python-tkinter-events/

Python & Machine Learning training courses

在本 Python Tkinter 教程中,我们将了解 Python Tkinter 事件,其中我们将了解如何在 Python Tkinter 中创建事件。我们还将介绍与事件相关的不同示例。我们也将讨论这些话题。

  • Python Tkinter 事件
  • Python Tkinter 事件和绑定
  • Python Tkinter 事件列表
  • Python Tkinter 事件小工具
  • Python Tkinter 事件属性
  • Python Tkinter 事件类
  • Python Tkinter 事件处理程序
  • Python Tkinter 事件 _ 生成
  • Python Tkinter 事件循环
  • Python Tkinter 事件 _ 监听器
  • Python Tkinter event.keysym

目录

Python Tkinter 事件

在本节中,我们将学习 Python Tkinter 中的事件

事件是用户的鼠标操作,也可以说是用事件对象调用了处理程序函数。它可以处理与它们相关的所有功能。

代码:

在下面的代码中,我们通过在单击“退出”时给出文本= ”来创建一个按钮。通过点击按钮,他们打印 Python 指南,并且退出命令也被执行。

  • 按钮()用于运行命令
  • Button.focus() 用于获取特定事件的焦点。
from tkinter import *

def task(event):
    print("PythonGuides") 

ws=Tk()
ws.geometry("200x200")

button=Button(ws,text="On Clicking Quit",command= ws.quit)

button.focus()
button.pack(expand=True)
button.bind('<Button-1>', task)

ws.mainloop()

输出:

运行上述代码后,我们可以看到生成了一个窗口,其中放置了一个按钮。用户点击按钮,点击后打印文本 Python 指南并自动退出。当事件发生时,自动调用分配的函数。

Python Tkinter Event

EventOutput

阅读: Python Tkinter 动画

Python Tkinter 事件和绑定

在本节中,我们将学习如何在 Python Tkinter 中绑定事件。

将功能分配给事件被称为事件绑定。当事件发生时,自动调用分配的函数。

bind()方法的语法

widget.bind(event,handler,add=None)

代码:

在下面的代码中,我们可以创建一个可以在其中发生事件的小部件。我们在小部件上创建一个按钮,如果用户单击按钮一次,在单击按钮“ Hello ”后会显示文本。如果用户双击按钮,程序停止执行。

from tkinter import *
def task(event):
    print("Hello") 
def quit(event):                           
    print("Double click  to stop") 
    import sys; sys.exit()

ws=Tk()
ws.title("Python guides")
ws.geometry("200x200") 

button = Button(ws, text='Press')
button.pack(pady=10)
button.bind('<Button-1>', task)
button.bind('<Double-1>', quit) 
button.mainloop()

ws.title() 用于给小部件赋予标题。

sys 是一个为现有 Python 模块命名的函数

输出:

运行上面的代码后,我们得到了下面的输出,在其中我们可以看到小部件。在小部件中,一旦他们打印 Hello,单击按钮后会放置一个按钮。之后,点击两次,他们退出所有的程序。

Python Tkinter Binding event

Event binding Output

阅读: Python Tkinter 多窗口教程

Python Tkinter 事件列表

在本节中,我们将了解 Python Tkinter 事件列表

列表是按顺序书写的连接的对象或项目。

以下是一些活动的列表:

  • 按钮–当我们点击程序执行的按钮时,按钮被用作事件处理程序
  • 配置–配置用于更改小工具的属性。
  • 专注–完全专注于特定的小工具。
  • 销毁-终止特定的小工具。
  • 动作–即使鼠标在小工具上移动。

代码:

在下面的代码中,我们使用标签和按钮,标签用于描述文本,按钮用于处理事件。

  • def show_text(e) 用于定义显示的消息。
  • ws.bind() 用于绑定光标移动、鼠标移动、键盘输入等方法。
  • ws.mainloop() = Mainloop 是应用程序窗口的无限循环。
from tkinter import *

ws= Tk()

ws.title("Python guides")
ws.geometry("700x350")

def Show_Text(e):
   label.config(text="Life is short/ Do what you love", font=('Helvetica 14 bold'))

label= Label(ws, text= "")
label.pack(pady= 50)

ws.bind('<Button-1>',Show_Text)
ws.mainloop()

输出:

通过运行上面的代码,我们得到下面的输出,我们看到一个小部件被创建。开始时,小部件上没有文本,当我们将光标移到小部件上时,我们会看到一些文本“生命短暂/做你喜欢的事情”。

Python Tkinter event list

EventlistOutput

阅读: Python Tkinter 编辑器

Python Tkinter 事件小工具

在本节中,我们将学习如何在 Python Tkinter 中创建事件小部件。

在继续之前,我们应该了解一下什么是小部件?

小部件是图形用户界面的组件,显示用户可以与操作系统交互的信息。事件在小部件中发生。

代码:

在下面的代码中, event.widget 用于创建一个小部件。将函数添加到小部件的事件中称为事件绑定。当事件发生时,所分配的功能被自动调用。

  • def clickI(事件):用于显示消息。
  • event.widget.config 作为引用将一个对象传递给我们的函数。
  • Lamba 功能用于减少代码行数。
from tkinter import *

def clickI(event):
    print ("you clicked on"), event.widget
    event.widget.config(text="Thank_You")

def clickII(event, Obj):
    print ("you clicked on"), Obj
    Obj.config(text="Thank_You!")

ws = Tk()
ws.geometry("200x200")
a1 = Label(ws, text="Press")
a2 = Label(ws, text="No, Press!")
a1.pack(pady=10)
a2.pack(pady=10)

a1.bind("<1>", clickI)
a2.bind("<1>", lambda event, obj=a2: clickII(event, obj))

ws.mainloop()

输出:

在这个输出中,我们可以看到我们创建了一个小部件,并绑定了两个按钮,在单击它时执行一些操作。

Python Tkinter Event widget 2

Event Widget Output

阅读: Python Tkinter 表教程

Python Tkinter 事件属性

在本节中,我们将学习 Python Tkinter 事件属性。属性在事件类中定义,并从事件类接收值。如事件类定义所述,属性值可以默认出现。

代码:

在下面的代码中,我们定义了一些调用属性的函数。属性是某种特殊字符、普通字符和数字。我们用来在屏幕上显示文本。

下面是该代码中使用的一些事件属性:

  • 。char 定义一个字母表的普通字符。
  • 。height 属性用于将 widget 设置为新的高度。
  • 。keysym 属性用于设置字符串中的按键、数字、特殊字符。
import tkinter
from tkinter import *

ws = Tk(  )
ws.geometry("200x200")
display='Press Any Button, or Press  Key'
Lab= Label(ws, text=display, width=len(display))
Lab.pack(pady=40)

def key(eve):
    if eve.char==eve.keysym:
        message ='Normal Key %r' % eve.char
    elif len(eve.char)==1:
        message ='Punctuation Key %r (%r)' % (eve.keysym, eve.char)
    else:
        message ='Special Key %r' % eve.keysym
    Lab.config(text=message)
Lab.bind_all('<Key>', key)

def do_mouse(eventname):
    def mouse_binding(event):
        message = 'Mouse event %s' % eventname
        Lab.config(text=message)
    Lab.bind_all('<%s>'%eventname, mouse_binding)

for i in range(1,4):
    do_mouse('Button-%s'%i)
    do_mouse('ButtonRelease-%s'%i)
    do_mouse('Double-Button-%s'%i)

ws.mainloop(  ) 

输出:

在下面的输出中,我们可以看到属性如何在控制台上工作,因为我们使用鼠标指针属性在屏幕上显示鼠标事件。

在这里,它还可以与显示不同属性(如字符、符号等)的键盘按钮一起工作。

Python Tkinter event attribute

Event Attribute Output

阅读: Python Tkinter 测验

Python Tkinter 事件类

在这一节中,我们将学习如何在 Python Tkinter 中创建一个事件类。

在学习事件类之前,我们应该有一个关于类的知识。类是用于创建对象的代码模板。为了创建一个类,我们使用 class 关键字。

如果类没有功能,那么类就没有用。所谓功能性,我们指的是它作为数据和功能容器的属性。这些函数被称为方法。

代码:

在下面的代码中,我们创建了一个名为“myfirstapp”的类,在该类中定义了两个对象,其中一个对象调用另一个对象,并通过单击按钮显示其值。

  • def init(self,master) 用对象定义类。
  • Label() 类似于赋予小部件的普通文本。
from tkinter import Tk, Label, Button

class myfirstapp:
    def __init__(Self, master):
        Self.Master = master
        master.title("Python Guides")

        Self.lab = Label(master, text="This is my app")
        Self.lab.pack()

        Self.greet_button = Button(master, text="click here to Enter", command=Self.click_here_to_enter)
        Self.greet_button.pack()

        Self.close_button = Button(master, text="Exit", command=master.quit)
        Self.close_button.pack()

    def click_here_to_enter(self):
        print("Welcome")

ws = Tk()
ws.geometry("200x200")
My_app = myfirstapp(ws)
ws.mainloop()

输出:

运行下面的代码后,我们得到了这个输出,其中我们制作了一个标签,并定义了一个按钮来帮助调用一个对象并显示值。

Python Tkinter eventclass1

Event Class Output

阅读:使用 Tkinter 中 pyqrcode 的 Python QR 码生成器

Python Tkinter 事件处理程序

在本节中,我们将了解 Python Tkinter 中的事件处理程序。

顾名思义,它可以描述处理某事。事件处理程序是事件的一部分,负责管理所有被执行和调用的回调。它只是一个简单的动作,就像点击一个按钮,导致另一个事件。

代码:

在下面的代码中,我们定义了一个类,并在其中创建了一个对象。我们在一个按钮上添加了一个事件处理程序,它是退出窗口的动作。它处理事件中接收到的输入。

  • Self.master.title() 用于给一个窗口赋予标题。
  • Button() 正在执行一个事件处理程序,该程序执行一个退出动作。
from tkinter import *

ws = Tk()

ws.geometry("200x200")

class Win(Frame):

    def __init__(self, master=None):

        Frame.__init__(self, master)   

        self.master = master

        self.init_win()

    def init_win(self):

        self.master.title("Python Guides")

        self.pack(fill=BOTH, expand=1)

        Exitbutton = Button(self, text="quit",command=self.Client_Quit)
        Exitbutton.place(x=0, y=0)

    def Client_Quit(self):
        exit()

pro = Win(ws)

ws.mainloop() 

输出:

从下面的代码中,我们得到了一个正在执行事件处理程序的程序的输入。我们可以看到以下操作的输出。

Python Tkinter event handler

Event_handler Output

阅读:如何用 Python Tkinter 创建贪吃蛇游戏

Python Tkinter 事件 _ 生成

在本节中,我们将学习如何在 Python Tkinter 中通过 event _ generate生成事件。

简单地说,我们所理解的单词 Generate 就是使某物存在。甚至我们也理解 generate 是用来生产或创造的。

在这个 event_generate 中,我们生成了一个事件,它显示了一些动作并使一些东西存在。

以下内容的语法:

widget.event_generate(sequence,when='tail')

代码:

在下面的代码中,我们创建了一个时间不断变化的小部件。

event _ getrate产生与 when 属性when =‘tail’tail 是在任何事件被处理后,将它附加到事件队列中。

import threading
import time
import queue
from tkinter import *

ws = Tk()

ws.geometry("200x200")

comque= queue.Queue()

def timeThread():
    prestime = 0
    while 1:

        comque.put(prestime)

        try:
            ws.event_generate('<<TimeChanged>>', when='tail')

        except TclError:
            break

        time.sleep(1)
        prestime += 1

clcvar = IntVar()
Label(ws, textvariable=clcvar, width=9).pack(pady=10)

def timeChanged(event):
    clcvar.set(comque.get())

ws.bind('<<TimeChanged>>', timeChanged)

Thr=threading.Thread(target=timeThread)
Thr.start()

ws.mainloop()

输出:

在下面的输出中,生成的时间以秒为单位不断变化,正如我们在这里看到的。

Python tkinter event_generate

event_generate Output

阅读: Python Tkinter 图片

Python Tkinter 事件循环

在本节中,我们将学习如何在 python Tkinter 中创建一个事件循环。

在学习 Python Tkinter even loop 之前,我们应该先了解一下什么是循环。

循环是一个过程,它的结束与开始相连。

事件循环是一个异步过程,它转换表示时间的元组并返回到本地时间。

time.asctime()

代码:

在下面的代码中,我们创建了一个小部件,其中本地时间循环运行。

  • time.asctime() 将表示时间的元组转换为 24 个字符串的本地时间。
  • Frame() 用来把我们显示为一个简单的矩形。我们使用 frame 来组织其他小部件,创建一个我们使用 tkk.frame 的框架。
from tkinter import *
import time
from tkinter import ttk

def swap_Text():
    lab['text'] = time.asctime()

    ws.after(1000, swap_Text)

ws = Tk()
frame = ttk.Frame(ws)
frame.pack(fill='both', expand=True)

lab = ttk.Label(frame, text='0')
lab.pack()

swap_Text()      

ws.geometry('300x200')
ws.mainloop()

输出:

在下面的输出中,我们看到了如何使用 asctime() 来转换 struct_time,并以输出中提到的 24 个字符串的形式作为 localtime() 返回。

Python Tkinter event loop

Event Loop Output

阅读: Python Tkinter Colors

Python Tkinter event _ listener

在本节中,我们将学习 Python Tkinter 中的事件监听器。

事件监听器是一个像点击鼠标一样等待事件发生的功能。

事件侦听器有两种用法:

  • 用一个新的信息给听众打电话。
  • 通过调用方法 on_message_received。

代码:

在下面的代码中,我们通过设置预定义的值来创建一个小部件和一个事件侦听器,当我们在后台删除这些值时,它会调用事件侦听器。

  • event_listener.set() 用于设置预定义的值。
  • event_listener.trace() 用于修改预定义的值。
from tkinter import *

def modify(*args):
    print("Listning")

ws = Tk()
ws.geometry('200x200')
ws.title("Python Guides")

event_listener = StringVar()
event_listener.set("DELETE ME")
event_listener.trace("w", modify)

entry_widget = Entry(ws, textvariable = event_listener)
entry_widget.pack()

ws.mainloop()

输出:

在下面的输出中,我们可以看到在 gif 中我们删除了一些值并添加了我们的值。在另一个输出中,我们可以看到在控制台中显示了一条消息侦听,这表明我们的事件侦听器正在后台工作。

Python Tkinter event listner

event listener Output

控制台显示一条消息,显示 event_listener() 正在运行。

python tkinter listener

Event Listener Output

阅读: Python Tkinter 自动完成

Python Tkinter event . key sym

在本节中,我们将学习 Python Tkinter 中的 event.keysym。

Keysym 属性用于为字母、数字和特殊字符(如[a、b、c……)设置字符串中的键。],[1,2,3,4……],[!@,#,%,^……].它仅用于描述键盘事件。

代码:

在下面的代码中,我们定义了一些调用属性的函数。属性是某种特殊字符、普通字符和数字。我们用来在屏幕上显示文本。

eve.keysym 属性用于定义键盘事件。

import tkinter
from tkinter import *

ws = Tk(  )
ws.geometry("200x200")
display='Press Any Button, or Press  Key'
Lab= Label(ws, text=display, width=len(display))
Lab.pack(pady=40)

def key(eve):
    if eve.char==eve.keysym:
        message ='Normal Key %r' % eve.char
    elif len(eve.char)==1:
        message ='Punctuation Key %r (%r)' % (eve.keysym, eve.char)
    else:
        message ='Special Key %r' % eve.keysym
    Lab.config(text=message)
Lab.bind_all('<Key>', key)

def do_mouse(eventname):
    def mouse_binding(event):
        message = 'Mouse event %s' % eventname
        Lab.config(text=message)
    Lab.bind_all('<%s>'%eventname, mouse_binding)

for i in range(1,4):
    do_mouse('Button-%s'%i)
    do_mouse('ButtonRelease-%s'%i)
    do_mouse('Double-Button-%s'%i)

ws.mainloop() 

输出:

在下面的输出中,我们可以看到的功能。event_keysym 属性描述了键盘事件,当用户按下任何键或使用鼠标时,一切都会被控制台看到,如下图所示。

Python tkinter event.keysym

event.keysym Output

在本教程中,我们将讨论 Python Tkinter 事件,我们还将介绍与其实现相关的不同示例。这是我们已经讨论过的主题列表。

  • Python Tkinter 事件
  • Python Tkinter 事件和绑定
  • Python Tkinter 事件列表
  • Python Tkinter 事件微件
  • Python Tkinter 事件属性
  • Python Tkinter 事件类
  • Python Tkinter 事件处理程序
  • Python Tkinter 事件 _ 生成
  • Python Tkinter 事件循环
  • Python Tkinter 事件 _ 监听器
  • Python Tkinter event.keysym

相关帖子:

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 退出程序

原文:https://pythonguides.com/python-tkinter-exit-program/

Python & Machine Learning training courses

在这一节中,我们将学习如何在 Python Tkinter 中退出程序。

Python Tkinter 退出程序

要退出一个程序,我们需要销毁窗口。在 Python Tkinter 中有一个内置的关闭窗口的方法 destroy ()

语法:

这里的 ws 是主窗口&是变量 Tk() 为类方法。

ws.destroy()

下面是 Python Tkinter 退出程序的小演示。

代码:

在这段代码中,我们在窗口中创建了一个简单的按钮。当用户点击按钮时,它将关闭窗口。

from tkinter import *
from tkinter import messagebox
from time import *

def close():
    ws.destroy()

ws = Tk()
ws.title("PythonGuides")
ws.geometry("400x300")
ws['bg']='#5d8a82'

Button(
    ws, 
    text="EXIT PROGRAM", 
    font=("Times", 14),
    command=close
    ).pack(pady=100)

ws.mainloop()

输出:

在这个输出中,显示了带有文本“退出程序”的按钮。当用户点击此按钮时,窗口将关闭。

python tkinter exit program

Python Tkinter Exit Program

您可能会喜欢以下 Python 教程:

所以在本教程中,我们学习了如何在 Python Tkinter 中退出程序或者如何在 python Tkinter 中退出程序。

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 过滤器函数()–如何使用

原文:https://pythonguides.com/python-tkinter-filter/

Python & Machine Learning training courses

在本 Python Tkinter 教程中,我们将通过与 Tkinter 过滤器相关的不同示例,学习如何在 Python Tkinter 中使用过滤器函数。我们将讨论这些话题。

  • Python Tkinter 过滤两个日期之间的日期
  • Python Tkinter 树视图过滤器
  • Python Tkinter 文件对话框过滤器
  • Python Tkinter Listbox 过滤器

目录

Python Tkinter 过滤两个日期之间的日期

在本节中,我们将学习如何在 Python Tkinter 中过滤两个日期之间的日期。

Filter()方法过滤序列,它们可以过滤序列中出现的所有元素。

项目通过功能过滤并测试项目是否被接受,如果项目不被接受,则显示错误信息。在这种情况下,我们可以过滤两个日期之间的日期

代码:

在下面的代码中,我们导入库 datetime 导入日期datetime 导入timedeltatimedelta() 函数用于计算日期之间的差值。

date.today() 用于显示当前日期。

from tkinter import *

from datetime import date
from datetime import timedelta

today1 = date.today()
print("Today is: ", today1)

yesterday1 = today1 - timedelta(days = 1)
print("Yesterday was: ", yesterday1)

输出:

运行上述代码后,我们得到以下输出,我们看到两个日期之间的筛选日期。

Python Tkinter filter date and time

Python Tkinter filter date and time Output

读取 Python Tkinter 添加函数

Python Tkinter 树形视图过滤器

在这一节中,我们将学习如何在 Python Tkinter 中创建一个树形视图过滤器。

Treeview 指的是分层表示,我们可以使用 filter treeview 来过滤 treeview 中的所有行。它可以检测用户选择的项目是否出现在树视图中。

代码:

在下面的代码中,我们导入熊猫的库。熊猫用于分析数据。

  • tkinter.ttk 模块用于获取 Python Tkinter treeview。
  • ttk。Combobox() 是一个列表项的组合,它显示下拉菜单。
from tkinter import *
import pandas as pd
from tkinter import ttk

df = pd.DataFrame({"currency":["EUR","XCD","ARS","CAD"],
                   "volumne":[400,500,600,700]})

class app(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.title("Python Guides")

        self.tree = ttk.Treeview(self)
        columns = list(df.columns)
        self.Combo = ttk.Combobox(self, values=list(df["currency"].unique()),state="readonly")
        self.Combo.pack()
        self.Combo.bind("<<ComboboxSelected>>", self.select_currency)
        self.tree["columns"] = columns
        self.tree.pack(expand=TRUE, fill=BOTH)

        for i in columns:
            self.tree.column(i, anchor="w")
            self.tree.heading(i, text=i, anchor="w")

        for index, row in df.iterrows():
            self.tree.insert("", "end", text=index, values=list(row))

    def select_currency(self,event=None):
        self.tree.delete(*self.tree.get_children())
        for index, row in df.loc[df["currency"].eq(self.Combo.get())].iterrows():
            self.tree.insert("", "end", text=index, values=list(row))

ws = app()
ws.mainloop() 

输出:

在下面的输出中,我们看到显示了一个简单的 Tkinter treeview。其中有四行和两列。

Python Tkinter treeview filter

Python Tkinter Treeview filter Output

在这张图片中,我们看到用户在选择了过滤方法来验证货币是否出现在列表中之后选择了货币。如果存在,它将显示我们已经显示的结果。

Treeview filter in Python Tkinter

Python Tkinter Treeview filter

阅读 Python Tkinter 面板

Python Tkinter 文件对话过滤器

在这一节中,我们将学习如何在 Python Tkinter 中创建一个对话框过滤器。

文件对话框过滤器确定从对话框中显示什么类型的文件。用户从对话框中选择文件,如果文件出现在对话框中,则显示文件位置,如果文件未被选择,则显示弹出消息“选择文件”。

代码:

在下面的代码中,我们从 Tkinter import filedialog 导入一些库比如作为 fd ,从 tkinter.messagebox 导入 showinfo 导入

  • fd.askopenfilename() 用于显示一个对话框,允许从文件系统中选择一个文件。
  • showinfo() 用于在窗口上给出一个弹出消息。
from tkinter import *
from tkinter import filedialog as fd
from tkinter.messagebox import showinfo

ws = Tk()
ws.title('Python Guides')
ws.resizable(False, False)
ws.geometry('500x300')

def selectfile():
    filetypes = (
        ('text files', '*.txt'),
        ('All files', '*Allfile*')
    )

    filename = fd.askopenfilename(
        title='open file',
        initialdir='/',
        filetypes=filetypes)

    showinfo(
        title='Python Guides',
        message=filename
    )

button = Button(
    ws,
    text='Open File',
    command=selectfile
)

button.pack(expand=True)

ws.mainloop() 

输出:

在下面的输出中,我们看到一个小部件,在这个小部件中创建了一个按钮。

Python tkinter file dialog filter

Python tkinter file dialog filter

点击按钮时,会打开一个对话框。从这个对话框中,我们选择一个文件。选择一个文件后,点击打开。

file dialog filter Python Tkinter

Python Tkinter file dialog filter

点击打开后,我们过滤后得到文件所在的路径。

Python tkinter file dialog filter eexample

Python Tkinter filedialog filter

在方法之后读取 Python Tkinter

Python 的 Tkinter 列表框过滤器

在本节中,我们将学习如何在 Python Tkinter 中创建列表框过滤器。

通过列表框过滤器,我们的意思是从列表中过滤结果,我们可以使用搜索框的帮助,帮助过滤我们的内容,也显示我们的结果。

代码:

在下面的代码中,我们在 list.insert() 的帮助下创建了一个列表框。我们将一些值插入到一个对我们可见的列表框中,为了过滤这些值,我们添加了一个过滤框,用户可以在其中键入想要在列表框中查看的项目。

listbox.insert() 用于在列表中插入值

列表 =('值,'值 1 ')

from tkinter import *

def Scankey(event):

	val = event.widget.get()
	print(val)

	if val == '':
		data = list
	else:
		data = []
		for item in list:
			if val.lower() in item.lower():
				data.append(item)				

	Update(data)
def Update(data):

	listbox.delete(0, 'end')

	for item in data:
		listbox.insert('end', item)

list = ('Salt','Sugar','Oil',
	'Toothpaste','Rice',
	'Pens','Fevicol','Notebooks' )

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")

entry = Entry(ws)
entry.pack()
entry.bind('<KeyRelease>', Scankey)

listbox = Listbox(ws)
listbox.pack()
Update(list)

ws.mainloop()

输出:

运行上述代码后,我们可以看到下面的输出,这有助于描述列表框过滤器。这里,在一个窗口中,创建了一个列表框,其中包含一些预定义的项目和一个过滤框。

Python tkinter listbox filter

Python Tkinter Listbox Filter Output

在下面的输出中,我们可以看到用户使用一些属性来过滤列表框中的一些项目,列表框中的过滤功能正常工作并定义结果。

Python tkinter listbox filter

Python Tkinter Listbox Filter Output

相关帖子:

因此,在本教程中,我们讨论了 Python Tkinter 过滤器,我们还涵盖了不同的例子。这是我们已经讨论过的例子列表。

  • python Tkinter 过滤两个日期之间的日期
  • python Tkinter 树视图过滤器
  • python Tkinter 文件对话框过滤器
  • python Tkinter Listbox 过滤器

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 框架

原文:https://pythonguides.com/python-tkinter-frame/

Python & Machine Learning training courses

在本教程中,我们将学习 python tkinter frame 。我们也将涉及这些主题。

  • Python Tkinter 框架
  • Python Tkinter 框架属性
  • Python Tkinter 框架网格
  • Python Tkinter 框架类
  • Python Tkinter 帧颜色
  • Python Tkinter 帧大小
  • Python Tkinter 框架边框
  • 框架内的 Python Tkinter 框架
  • Python Tkinter 框架与 LabelFrame
  • Python Tkinter 框架小型项目

你知道图形用户界面编程吗?查看 Python GUI 编程(Python Tkinter)

目录

Python Tkinter 帧

  • Tkinter frame 是一个顶级小部件。它位于父窗口上,用于对其他小部件进行分组。
  • 它改善了应用程序的用户界面/UX。Python 框架也称为面板。

Python Tkinter 帧属性

  • 属性是指特性。
  • 大多数功能在每个小部件中都是通用的。但是很少有功能只在特定的小部件上起作用。常见的特征有,bg,宽度,高度,fg 等。
  • 属性是有效的资源。要查看这些有效资源,请键入help(widget_name)

代码:

下面是在 Python 中查看小部件框架所有属性的代码。

from tkinter import *

ws = Tk()
ws.geometry('300x200')
ws.title('PythonGuides')

help(Frame)

ws.mainloop()

输出:

输出显示与小部件框架相关的所有信息。属性部分突出显示。

python tkinter frame attributes

Python Tkinter Frame

现在,让我们结合实际来研究一下每个部件。

你可能也喜欢 Python 熊猫和 Python Tkinter 中的 Crosstab 在文本框中显示数据。

| 背景
背景 | 背景或背景填充框架背景中的颜色。这样做的方法不止一种。

  1. frame = Frame(ws,BG = ' red ')
    Frame . pack()
    2)Frame = Frame(ws,background = ' red ')
    Frame . pack()
    3)Frame = Frame(ws)
    Frame . config(BG = ' red ')
    Frame . pack()
    4)Frame = Frame(ws)
    Frame . config(background = ' red ')
    Frame . pack()
    5)Frame = Frame(ws)【T12 |
    | borderdth,
    bd | bd 或 borderwidth 为框架的边框提供宽度。类似于 bg 也可以多种方式实现:
  2. frame = Frame(ws,BD = 10)
    Frame . pack()
    2)Frame = Frame(ws,border width = 10)
    Frame . pack()
    3)Frame = Frame(ws)
    Frame . config(BD = 10’)
    Frame . pack()
    4)Frame = Frame(ws)
    Frame . config(border width = 10)
    |
    | | 默认的类名是 Frame。
    框架(父,* *选项) |
    | 色彩图 | 很少有旧屏幕支持 256 色或更少的颜色。所以开发者必须为颜色设置限制。在这种情况下,会映射受支持的颜色,以便在整个应用程序中只能实现这些颜色。是的,不同的窗口可以继承这个颜色,也可以创建一个新的颜色。

frame = Frame(bg="blue ",colormap="new ",border width = 10)
Frame . pack()
|
| 集装箱 | 容器是布局管理器。小部件有两种类型:容器&子部件。容器组织子部件。
pack、grid、place 都是容器小部件。 |
| cursor | 光标是屏幕上显示鼠标位置的图标。
这里是可以使用的光标列表:“箭头”、“圆圈”、“时钟”、“十字”、“点盒”、“交换”、“芙蓉”、“心”、“心”、“人”、“T1”、“鼠标”、“海盗”、“加号”、“穿梭”、“上浆”、“蜘蛛”、“喷雾罐”、“星星”、“目标”、“十字”、“T2”、“迷航”、“手表”。
举例:
frame = Frame(ws,cursor = ' clock ')
Frame . pack()

|
| 高度宽度 | 高度是指水平空间,宽度是指垂直空间。
举例:
frame = Frame(ws,高度=20,宽度=50)
frame.pack() |
| 高亮背景 | 当框架没有焦点时,焦点突出显示的颜色。 |
| 荧光笔颜色 | 当框架具有焦点时,焦点中显示的颜色会高亮显示。 |
| 高光厚度 | 焦点突出显示的粗细。 |
| 减压 | 它通过给框架添加 3D 效果来给框架添加样式。
有 5 种缓解选项。
1)平
2)凹
3)凸
4)槽
5)脊

下面是要实现的代码片段:
frame = Frame(ws,relief=FLAT,bd=10)
frame.pack() |
| 对焦 | takefocus 的默认值为 0。当按下标签时,它决定焦点的移动。 |
| 视觉 | 为任何窗体中的新窗口指定可视信息。 |

Python Tkinter 框架网格

  • Grid 用于以行列格式定位框架小部件。
  • & 都是必要的参数。

代码:

在这段代码中,我们使用了 2 帧。一个用于标签,另一个用于输入框。使用网格管理器定位框架。

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('250x200')

frame1 = Frame(ws, padx=5, pady=5)
frame1.grid(row=0, column=1)

Label(frame1, text='Name', padx=5, pady=5).pack()
Label(frame1, text='Email', padx=5, pady=5).pack()
Label(frame1, text='Password', padx=5, pady=5).pack()

frame2 = Frame(ws, padx=5, pady=5)
frame2.grid(row=0, column=2)

Entry(frame2).pack(padx=5, pady=5)
Entry(frame2).pack(padx=5, pady=5)
Entry(frame2).pack(padx=5, pady=5)

Button(ws, text='Submit', padx=10).grid(row=1, columnspan=5, pady=5)

ws.mainloop()

输出:

在此输出中,虽然框架不可见,但它确实存在。左边的标签组织在框架 1 中,右边的输入框组织在框架 2 中。使用栅格几何图形管理器放置框架。

Python Tkinter Frame grid

Python Tkinter Frame grid

你可能会喜欢,如何在 Python Tkinter 中设置背景为图像?

Python Tkinter 帧类

  • 类有助于避免部分代码的重复。
  • 我们大部分时间使用类。
  • 有时我们使用预定义的类或者创建新的类。
  • 下面是 frame 使用类的实现。

代码:

from tkinter import *

class Frame1(Frame):
    def __init__(self, ws):
        Frame.__init__(self, ws, bg="#006699")
        self.ws = ws
        self.widgets()

    def widgets(self):
        self.text = Label(self, text="This label is on the frame ")
        self.text.grid(row=0, column=0, padx=20, pady=20) # margins

class Win(Tk):

    def __init__(self, ws):
        Tk.__init__(self, ws)
        self.ws = ws
        self.title('PythonGuides')
        self.geometry('300x200')
        self.main()

    def main(self):
        self.w = Frame1(self)
        self.w.pack()

if __name__=="__main__":
    app = Win(None)
    app.mainloop()

输出:

python tkinter frame using class

Python Tkinter Frame class

阅读: Python Tkinter Colors

Python Tkinter 帧颜色

  • 颜色用于为应用程序提供漂亮的外观
  • 选择正确的颜色使应用程序看起来很专业。
  • 在框架中,我们可以改变窗口的背景颜色。
  • bg 或 background 关键字用于填充框架中的颜色。

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')

frame = Frame(ws, bd=10, bg='red')
frame.pack(pady=50)

Label(frame, text='Color-Demo').pack()

ws.mainloop()

输出:

在此输出中,显示了 10 个边框宽度的红色框架。

python tkinter frame color

Python Tkinter Frame color

读取 Python Tkinter 过滤函数()

Python Tkinter 帧大小

  • 可以使用关键字高度宽度来控制窗口的大小
  • 作为高度或宽度提供的任何整数值将修改窗口屏幕。

Python Tkinter 框架边框

  • 为了提供边界,我们可以使用 bd 或者 borderwidth 关键字。
  • 可以传递任何整数值来设置边框

代码:

在这段代码中,我们创建了宽度为 20 的边框。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')

frame = Frame(ws, bd=10, bg='red')
frame.pack(pady=50)

Label(frame, text='Border-Demo').pack()

ws.mainloop()

输出:

在此输出中,创建了宽度为 20 的边框。因为框架和主窗口一样有默认颜色。所以我们为边界提供了红色。

python tkinter frame border

Python Tkinter Frame border

Python 帧内的 Tkinter 帧

  • 框架在父窗口上创建一个窗口。
  • 其他框架放在第一个框架上来组织小部件。

代码:

在这段代码中,创建了 3 个帧。这两个框架中的一个放在另一个框架中。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')

frame = Frame(ws, height=300, width=300, bg='#ccffcc')
frame.pack()

food = LabelFrame(frame, text='Food', bd=5, relief=RIDGE)
food.grid(row=0, column=0, sticky=W, padx=20, pady=20)

Checkbutton(food, text='Pizza').pack(anchor=W)
Checkbutton(food, text='Noodles').pack(anchor=W)
Checkbutton(food, text='Sandwich').pack(anchor=W)
Checkbutton(food, text='eggs').pack(anchor=W)

drinks = LabelFrame(frame, text='Drinks', bd=5, relief=RIDGE)
drinks.grid(row=0, column=1, sticky=E, padx=20, pady=20)

Checkbutton(drinks, text='Water').pack(anchor=W)
Checkbutton(drinks, text='Coffee').pack(anchor=W)
Checkbutton(drinks, text='Fanta').pack(anchor=W)
Checkbutton(drinks, text='Bear').pack(anchor=W)

ws.mainloop()

输出:

在这个输出中,有 3 个框架,食品和饮料被标在绿色框架中

python tkinter frame within frame

Python Tkinter Frame within the Frame

阅读: Python Tkinter 主循环

Python Tkinter Frame vs label Frame

LabelFrame 是 Frame 的另一种变体。只有两个可能的区别:

标签框
默认情况下没有边框 默认情况下有虚线边框
无法提供标题描述 可以使用关键字文本来提供标题
语法:帧(主) Synatx:label frame(master,text="text ")
举例:
Frame = Frame(ws)
Frame . pack() 举例:
frame = LabelFrame(ws,text = " text to display ")
frame . pack()

Python Tkinter Frame vs LabelFrame

python tkinter frame vs labelframe

所以在这里你可以观察到 Label 和 LabelFrame 的区别。LabelFrame 与背景颜色相同,这就是为什么将颜色改为蓝色的原因。所有蓝色的部分都是带有标签的名声。而 LabelFrame 具有写在顶部的文本和虚线边界。

阅读 Python Tkinter add 函数示例

Python Tkinter 框架迷你项目

  • 在这个项目中,我们在 Python TKinter 中创建了漂亮的登录和注册页面。
  • 登录和注册部分都是使用两个不同的框架创建的,名称分别为左框架&右框架

代码:

左框用于登录部分,而右框用于注册部分

from tkinter import *

ws = Tk()
ws.title('Email System')
ws.geometry('940x500')
ws.config(bg='#f7ef38')

variable = StringVar()
gender = ('Male', 'Female', 'Other')
variable.set(gender[0])

# widgets
left_frame = Frame(ws, bd=2, relief=SOLID, padx=10, pady=10)

Label(left_frame, text="Enter Email", font=('Times', 14)).grid(row=0, column=0, sticky=W, pady=10)
Label(left_frame, text="Enter Password", font=('Times', 14)).grid(row=1, column=0, pady=10)
log_em = Entry(left_frame, font=('Times', 14))
log_pw = Entry(left_frame, font=('Times', 14))
login_btn = Button(left_frame, width=15, text='Login', font=('Times', 14), command=None)

right_frame = Frame(ws, bd=2, relief=SOLID, padx=10, pady=10)

Label(right_frame, text="Enter Name", font=('Times', 14)).grid(row=0, column=0, sticky=W, pady=10)
Label(right_frame, text="Enter Email", font=('Times', 14)).grid(row=1, column=0, sticky=W, pady=10)
Label(right_frame, text="Enter Mobile", font=('Times', 14)).grid(row=2, column=0, sticky=W, pady=10)
Label(right_frame, text="Enter Age", font=('Times', 14)).grid(row=3, column=0, sticky=W, pady=10)
Label(right_frame, text="Select Gender", font=('Times', 14)).grid(row=4, column=0, sticky=W, pady=10)
Label(right_frame, text="Enter Password", font=('Times', 14)).grid(row=5, column=0, sticky=W, pady=10)
Label(right_frame, text="Re-Enter Password", font=('Times', 14)).grid(row=6, column=0, sticky=W, pady=10)

reg_na = Entry(right_frame, font=('Times', 14))
reg_em = Entry(right_frame, font=('Times', 14))
reg_mo = Entry(right_frame, font=('Times', 14))
reg_ag = Entry(right_frame, font=('Times', 14))
reg_ge = OptionMenu(right_frame, variable, *gender)
reg_ge.config(width=10, font=('Times', 14))
reg_pw = Entry(right_frame, font=('Times', 14))
re_pw = Entry(right_frame, font=('Times', 14))

reg_btn = Button(right_frame, width=15, text='Register', font=('Times', 14), command=None)

# widgets placement
log_em.grid(row=0, column=1, pady=10, padx=20)
log_pw.grid(row=1, column=1, pady=10, padx=20)
login_btn.grid(row=2, column=1, pady=10, padx=20)
left_frame.place(x=50, y=50)

reg_na.grid(row=0, column=1, pady=10, padx=20)
reg_em.grid(row=1, column=1, pady=10, padx=20) 
reg_mo.grid(row=2, column=1, pady=10, padx=20)
reg_ag.grid(row=3, column=1, pady=10, padx=20)
reg_ge.grid(row=4, column=1, pady=10, padx=20)
reg_pw.grid(row=5, column=1, pady=10, padx=20)
re_pw.grid(row=6, column=1, pady=10, padx=20)
reg_btn.grid(row=7, column=1, pady=10, padx=20)
right_frame.place(x=500, y=50)

# infinite loop
ws.mainloop()

输出:

这是代码的输出,我们选择黄色和灰色,因为这些颜色被提名为“年度颜色”。请随意在您的项目中使用这些代码。

python tkinter frame mini-project

您可能会喜欢以下 Python 教程:

因此,在本教程中,我们已经学习了关于 python tkinter frame 的知识,并且我们已经涵盖了这些主题。

  • Python Tkinter 框架
  • Python Tkinter 框架属性
  • Python Tkinter 框架网格
  • Python Tkinter 框架类
  • Python Tkinter 帧颜色
  • Python Tkinter 帧大小
  • Python Tkinter 框架边框
  • 框架内的 Python Tkinter 框架
  • Python Tkinter 框架与 LabelFrame
  • Python Tkinter 框架小型项目

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter Grid(Python Tkinter 中的 Grid()方法)

原文:https://pythonguides.com/python-tkinter-grid/

Python & Machine Learning training courses

想知道如何使用 Python Tkinter grid ?在本教程中,我们将介绍 Python Tkinter 中关于网格的所有内容。我们将看到如何在 Python Tkinter 中使用 grid()方法。此外,我们还将讨论以下主题:

  • python tkinter grid(python tkinter 网格)
  • 如何使用 Python Tkinter grid()方法
  • Python Tkinter 格网示例
  • Python Tkinter 格网左对齐
  • Python Tkinter 格网函数
  • Python Tkinter 网格填充
  • Python Tkinter 网格列 span
  • Python Tkinter 网格间距
  • Python Tkinter 网格不起作用
  • Python Tkinter 格网展开
  • Python Tkinter 格网填充

目录

Python Tkinter Grid

  • Python Tkinter 提供了一些小部件,使应用程序对用户来说看起来很好并且易于使用。在应用程序上放置小部件与选择正确的小部件同样重要。
  • Python Tkinter 提供了三种类型的布局管理器,帮助开发人员将小部件放置在应用程序的正确位置。
    • Pack: 将所有的 widget 打包在中心,按顺序放置 widget。
    • Grid: Grid 将小部件按行和列的方式放置。
    • Place: 在 X 和 Y 坐标中放置小部件。
  • 在本教程中,我们将讨论 Python Tkinter Grid()方法。我们将探索 Python Tkinter 中网格布局管理器的所有可用选项。

Python Tkinter 网格示例

在本节中,我们将看到 Python Tkinter 中的网格布局管理器的一个例子,我们还将看到 Python Tkinter 中网格布局管理器的一些特性。

  • Grid Layout manager 需要行和列作为参数,使用这些信息将小部件放置在屏幕上。
  • 行和列从屏幕的左上角开始。您可以将电子表格可视化,以便更好地理解它。
  • columnspan 用于占据列的其他单元格,如下例所示,您可以看到 button 占据了两个单元格的空间。
  • 这是一个在小部件上实现网格的例子。在这个例子中,我们使用了标签、条目和按钮部件。

grid() method in Python Tkinter

Python Tkinter Grid

上面例子的源代码:

在本例中,我们将标签小部件放在第 0 列,将条目小部件放在第 1 列。而按钮扩展为两列。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#9FD996')

Label(
    ws,
    text='Enter Email', 
    bg='#9FD996'
).grid(row=0, column=0)

Label(
    ws,
    text='Enter Password',
    bg='#9FD996'
).grid(row=1, column=0)

Entry(ws).grid(row=0, column=1)
Entry(ws).grid(row=1, column=1)

Button(
    ws,
    text='Login',
    command=None
).grid(row=2, columnspan=2)

ws.mainloop()

Python Tkinter 网格左对齐

  • Python Tkinter 中的网格布局管理器提供了一个粘性选项,允许将小部件向左、右、上、下方向对齐。在这一节中,我们将看到如何在 Python Tkinter 中使用 Grid 设置左对齐。
  • Sticky 需要小写的通用方向的第一个字母来设置小工具的选择方向。以下是选择
    • sticky = 'e' : 向右对齐
    • sticky = 'w': 向左对齐
    • sticky = 'n': 与顶部对齐
    • sticky = 's': 与底部对齐
grid(row=0, column=1, sticky='w')

Python Tkinter 网格左对齐示例:

在本例中,我们显示了两幅图像。在第一张图中,标签小部件和按钮小部件没有对齐,而在第二张图中,我们使用 Python Tkinter 的网格布局管理器中的 sticky 选项将小部件都向左对齐。

Python Tkinter Grid

Python Tkinter Grid align left using sticky

Python Tkinter 网格函数

  • Python Tkinter 中的 Grid 是一个允许管理小部件布局的函数。它将行和列作为参数,并将小部件放置为 2D 格式。
  • 由于其 2D 属性,Python Tkinter Grid 广泛用于游戏和应用程序,如计算器、井字游戏、地雷等。
  • 除了行和列, Grid 还提供了一些选项:
选择 描述
列,行 列指的是表格的垂直单元格
行指的是表格的水平单元格
列跨度,行跨度 列合并列以提供更多空间
行合并行以提供更多水平空间
ipad,ipad ipadx 在小工具的边框中垂直添加像素
帕德,帕德 padx 在小工具边框外垂直添加像素
pady 在小工具边框外水平添加像素
粘的 它把小部件贴在东西南北四个方向。

Python Tkinter 网格填充

  • Python Tkinter 中的 Grid 提供了一个填充选项,使用该选项可以在小部件的边框内外添加空间。
  • 在组织小部件时,小部件的默认大小位置有时不符合开发者的期望。在使用填充的时候,开发人员调整小部件。
  • 有两种类型的填充:
    • 小工具边框内部的填充
    • 小部件边框外的填充
  • ipadx,ipady 用于在小工具的边框内水平和垂直添加空格
  • padx,pady 用于在小工具边框外水平和垂直添加空格

Python Tkinter 中的网格填充示例

在本例中,显示了四张图片,每张图片都显示了添加填充时按钮的变化。我们选择了位于所有按钮中间的按钮 5。

图片 1: 图片一没有任何填充。添加此图像的目的是向您展示原始图像,以便您可以将其与更改后的图像进行比较。

图 2: 我们添加了 ipadx=10ipady=10,在小工具的边框内添加了 10 个像素,它开始看起来更大了。

图 3: 我们添加了padx=10pady=10,这 10 个像素被添加到小部件的边界之外,因此其他小部件必须移开。

图像 4: 第四幅图像是最终图像,其源代码如下。在这里,我们应用了填充,结果是按钮 5 看起来更大了,其他部件移动了 10 个像素。

python tkinter grid padding

Python Tkinter Grid

上图的代码片段

下面是上述程序的代码片段。在这段代码中,我们提供了内部和外部小部件的宽度。所以这段代码将在第四张图片上产生输出。确切的代码可在第 15 行找到。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F2B33D')

frame = Frame(ws, bg='#F2B33D')

Button(frame, text="7").grid(row=0, column=0, sticky='ew')
Button(frame, text="8").grid(row=0, column=1)
Button(frame, text="9").grid(row=0, column=2)

Button(frame, text="4 ").grid(row=1, column=0)
Button(frame, text="5").grid(row=1, column=1, ipadx=10, ipady=10, padx=10, pady=10)
Button(frame, text="6").grid(row=1, column=2)

Button(frame, text="7 ").grid(row=2, column=0)
Button(frame, text="8").grid(row=2, column=1)
Button(frame, text="9").grid(row=2, column=2)

frame.pack(expand=True) 

ws.mainloop()

Python Tkinter 网格列跨度

  • Python Tkinter 中的 Grid 提供了 columnspan ,使用它我们可以将两个或多个单元格合并成一个。
  • 当你需要额外的空间来放置一个特殊的小部件时,columnspan 会很有帮助。
  • columnspan 接受整数作为参数,并将相同数量的单元格合并在一起。

Python Tkinter Grid Columnspan

Python Tkinter Grid Columnspan

代码片段:

在这段代码中,online 14 我们使用了 columnspan=3 ,它将三个单元格合并为一个并向其显示按钮。因为我们设置了 sticky='ew' ,所以按钮被扩展到可用空间。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F2B33D')

frame = Frame(ws, bg='#F2B33D')

Button(frame, text="These buttons").grid(row=0, column=0)
Button(frame, text="are positioned").grid(row=0, column=1)
Button(frame, text="using Grid").grid(row=0, column=2)

Button(frame, text="another line").grid(row=1, columnspan=3, sticky='ew')

frame.pack(expand=True) 

ws.mainloop()

Python Tkinter 网格间距

  • Python Tkinter 中的 Grid 提供了一个填充选项,使用该选项可以在小部件的边框内外添加空间
  • 在组织小部件时,小部件的默认大小或位置有时不符合开发人员的期望。
  • 在使用填充的时候,开发人员调整小部件。有两种类型的填充:
    • 小工具边框内部的填充
    • 小部件边框外的填充
  • ipadx,ipady 用于在小工具的边框内水平和垂直添加空格padx,pady 用于在小工具边框外水平和垂直添加空格。
  • 参考 Python Tkinter 网格填充查看示例。

Python Tkinter 网格不工作

在本节中,我们将讨论导致 Python Tkinter Grid 无法工作的常见错误。

  • Columnspan 的值不能大于总列数。如果应用程序中有 5 列,那么可以合并的最大列数是 5。如果您输入了 5 个以上,它将只合并到 5 个

Python Tkinter 网格展开

  • Python Tkinter 中的 Grid 提供了一个 sticky ,使用它可以在 X & Y 方向扩展一个小部件。其他布局管理器,如 Place and Pack,有一个扩展选项,使用该选项可以允许小部件扩展expand =True
  • Sticky 需要小写的通用方向的第一个字母来设置小工具的选择方向。以下是选择
    • sticky = 'e' : 向右对齐
    • sticky = 'w': 向左对齐 sticky = 'n': 向上对齐 sticky = 's': 向下对齐

通过提供方向的组合,我们可以在可用空间中使用小部件。例如,如果你想填充部件的 X 位置,那么输入: sticky = 'ew' 。这里,‘e’将覆盖部件的东方向, w 将覆盖西方向。

Python Tkinter 网格填充

  • Python Tkinter 中的 Grid 提供了一个粘性,使用它可以在 X & Y 方向扩展一个小部件。其他布局管理器,如 Place and Pack,有一个 fill 选项,如果 expand =True,使用该选项可以允许小部件在可用空间中扩展。
  • Sticky 需要小写的通用方向的第一个字母来设置小工具的选择方向。以下是选择
    • sticky = 'e' : 向右对齐
    • sticky = 'w': 向左对齐
    • sticky = 'n': 与顶部对齐
    • sticky = 's': 与底部对齐
  • 通过提供方向的组合,我们可以在可用空间中使用小部件。例如,如果你想填充部件的 X 位置,那么输入: sticky = 'ew' 。这里,‘e’将覆盖部件的东方向, w 将覆盖西方向。

Python Tkinter 中的网格填充示例

在这段代码中,我们在 Python Tkinter 中实现了网格填充。网格总是从屏幕的左上角开始,所以我们创建了一个框架,将该框架放置在中心,然后我们用网格布局管理器创建了按钮。在第 11、12 行,我们使用 sticky 在左右方向拉伸按钮。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F2B33D')

frame = Frame(ws, bg='#F2B33D')

Button(frame, text="These buttons").grid(row=0, column=0)
Button(frame, text="are positioned").grid(row=0, column=1)
Button(frame, text="using Grid").grid(row=0, column=2)

Button(frame, text="This is ").grid(row=1, column=0, sticky='ew')
Button(frame, text="another line").grid(row=1, column=1, sticky='ew')
Button(frame, text="using Grid").grid(row=1, column=2)

frame.pack(expand=True) 

ws.mainloop()

输出:

在这个输出中,按钮使用 Python Tkinter 中的网格显示在屏幕上。两个按钮小是因为字数少。所以为了填充这个丑陋的空间,我们在这两个按钮上使用了 sticky='ew' 。现在你可以在右图中看到所有的按钮都被组织好了,没有空白。

python tkinter grid fill

Python Tkinter Grid Fill

在本教程中,我们已经学习了 Python Tkinter 中关于网格布局管理器的一切。此外,我们已经讨论了这些主题。

  • Python Tkinter
  • 如何在 Python Tkinter 中使用 grid()方法
  • Python Tkinter 格网布局示例
  • Python Tkinter 格网左对齐
  • Python Tkinter 格网函数
  • Python Tkinter 网格填充
  • Python Tkinter 网格列 span
  • Python Tkinter 网格间距
  • Python Tkinter 网格不起作用
  • Python Tkinter 格网展开
  • Python Tkinter 格网填充

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 图像+示例

原文:https://pythonguides.com/python-tkinter-image/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习如何在 Python Tkinter 中添加图像。让我们从下面的例子开始 Python Tkinter Image

  • python tkinter image(python tkinter 映像)
  • Python Tkinter 图像显示
  • python tkinter image button(python tkinter image 按钮)
  • Python Tkinter 图像背景
  • python tkinter image resize(python tkinter image resize)
  • python tkinter image size(python tkinter image 大小)
  • Python Tkinter Image Label
  • Python Tkinter 图像不存在

目录

Python Tkinter Image

Python Tkinter 有 PhotoImage 方法,该方法允许在 Python Tkinter 中读取图像。然后通过在标签、按钮、框架等小部件的图像属性中提供添加 PhotoImage 变量来放置图像。

  • 在 Python Tkinter 上添加图像有三种方式。
    • 照片图像
    • 枕头 模块
  • PhotoImage 是 Python Tkinter 自带的内置库,提供有限的选项。但是对于应用程序只是为了将图像显示在屏幕上的小任务来说,这是一个很好的开始。此外,它支持有限的图像扩展。
  • Python Tkinter 中的 Pillow 模块提供了更多的功能,比如你可以读取任何扩展名的图片,调整图片大小等等。使用前需要安装枕形模块。
  • Pillow 可以使用 Python Tkinter 中的 pip 或 pip3 来安装。
pip install pillow

or

pip3 install pillow
  • 在下面的例子中,我们已经演示了 PhotoImage 的使用。Pillow 将在同一教程的后面部分讨论。我们将展示在这种情况下使用的最佳方法。

代码

这是演示如何在 Python Tkinter 中添加图像的基本代码。因为下面的代码只是显示一张图片,所以我们在 Python Tkinter 中使用了 PhotoImage 方法。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')

img = PhotoImage(file='images/sasuke.png')
Label(
    ws,
    image=img
).pack()

ws.mainloop()

输出

在这个输出中,使用标签小部件显示图像,因为我们没有提供任何几何图形,所以应用程序的大小是图像的大小。

python tkinter images

Python Tkinter Image

阅读:如何用 Python 制作计算器

Python Tkinter 图像显示

Python Tkinter中的图像可以通过使用 PhotoImage 模块或枕头库来显示。

  • 在本节中,我们将使用 PhotoImage 和 Pillow 库来显示图像。此外,我们将使用画布中的 create_image 方法。
  • Canvas 用于在应用程序屏幕上添加图像或文本。

代码 使用摄影图像法

在这段代码中,您可以观察到我们没有导入任何库,因为 PhotoImage 在导入所有内容时会自动加载。

from tkinter import *      

ws = Tk()
ws.title('PythonGuides')
ws.geometry('500x500')

canvas = Canvas(
    ws,
    width = 500, 
    height = 500
    )      
canvas.pack()      
img = PhotoImage(file='images/sasuke.png')      
canvas.create_image(
    10,
    10, 
    anchor=NW, 
    image=img
    )      
ws.mainloop() 

摄影图像方法的输出

图像显示在画布上,它显示不完整,因为我们提供的画布高度和宽度小于图像的大小。

python tkinter images display

Python Tkinter display image using PhotoImage

代码使用枕库

在这段代码中,我们从 PIL 库中导入了 ImageTk,即 Image 方法。PIL 是枕头的简称。虽然代码看起来和前面的非常相似,但现在我们可以读取更多的图像扩展,如 jpg、png、bitmap 等。

from tkinter import *  
from PIL import ImageTk,Image  

ws = Tk()  
ws.title('PythonGuides')
ws.geometry('500x500')

canvas = Canvas(
        ws, 
        width = 500, 
        height = 500
        )  
canvas.pack()  
img = ImageTk.PhotoImage(Image.open('images/sasuke.png'))  
canvas.create_image(
        10, 
        10, 
        anchor=NW, 
        image=img
        ) 
ws.mainloop() 

使用枕头库显示的图像输出

输出类似于 PhotoImage 部分,photo 是不完整的,因为提供的窗口大小小于图像的原始大小。

python tkinter images display

Python Tkinter Image Display

阅读: Python Tkinter 菜单栏–如何使用

Python Tkinter 图像按钮

Python Tkinter 中的按钮部件有 image 属性,通过提供 image 变量,我们可以在按钮部件上放置图像。

  • 该过程的第一步是读取图像,为此我们将使用 Python Tkinter 中的 PhotoImage 方法。
  • Tkinter 中的按钮有 image 属性,您可以在这里提供分配给 PhotoImage 的变量。
  • 通过这种方式,可以在 Python Tkinter 中的按钮小部件上放置图像。

在这一节中,我们将学习如何在 Python Tkinter 中将图像放到按钮上。

代码

在这段代码中,我们在按钮上添加了一个图像。用户可以点击图像来执行操作。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')

img = PhotoImage(file='images/downloadbtn.png')
Button(
    ws,
    image=img,
    command=None
).pack()

ws.mainloop()

输出

在这个输出中,按钮上添加了下载图像。用户可以点击这个图片下载文件。

Python Tkinter Image Button

Python Tkinter Image Button

阅读:Python Tkinter check button–如何使用

Python Tkinter 图像背景

在这一节中,我们将学习如何在 Python Tkinter 中插入背景图片。换句话说,如何在 Python Tkinter设置背景图片。

  • 在 Python Tkinter 中主要有两种放置背景的方法
    • 使用 Place layout manager,我们可以将背景图像放在标签上,并将其一直拉伸到屏幕。
    • 使用 canvas create_image 方法,我们可以将图像放在屏幕上,稍后使用 canvas 的 create_text 方法,我们可以放置文本小部件。
  • 在这两种方法中,第二种方法说使用 canvas 更有效和准确,我们推荐使用 canvas。
  • 在下面的例子中,我们使用 canvas 创建了一个应用程序。该应用程序有背景图像,文本和一个按钮。当用户点击按钮,他/她将被重定向到我们的网站。

代码

在这段代码中,我们导入了 webbrowser 以便打开网页。我们使用 canvas 方法 create_image 在背景中放置图像,然后使用 create _text 和 create_window 在窗口中放置按钮和文本。

from tkinter import *
import webbrowser

ws = Tk()
ws.title('PythonGuides')
ws.geometry('500x400')

new = 1
url = "https://www.pythonguides.com"

def openbrowser():
    webbrowser.open(url,new=new)

bg = PhotoImage(file = 'images/bg.png')

canvas = Canvas(
	ws, 
	width = 500,
	height = 400
	)

canvas.pack(fill='both', expand = True)

canvas.create_image(
	0, 
	0, 
	image=bg,
	anchor = "nw"
	)

canvas.create_text(
	250, 
	150, 
	text = 'PythonGuides',
	font=('Arial', 50),
	)

btn = Button(
	ws, 
	text = 'EXPLORE MORE',
	command=openbrowser,
	width=20,
	height=2,
	relief=SOLID,
	font=('arial', 18)
	)

btn_canvas = canvas.create_window(
	100, 
	200,
	anchor = "nw",
	window = btn,
	)

ws.mainloop() 

输出

在这个输出中,您可以看到应用程序有背景图像、文本和按钮。当用户点击按钮时,他/她将被重定向到一个网站。

python tkinter images background

Python Tkinter Image Background

阅读: Python Tkinter 单选按钮–如何使用

Python Tkinter 图像大小调整

在这一节中,我们将学习如何在 Python Tkinter 中调整图像的大小。

  • 使用 Python Tkinter 中的 Pillow 库,我们可以调整图像的大小。要导入枕头使用此代码 from PIL import Image, ImageTk
  • image.resize((w, h)) 该命令允许我们改变图像的高度(h)和宽度(w)。
  • 在下面的例子中,我们创建了一个应用程序,用户可以提供宽度和高度,图像将实时改变大小。

代码

在这段代码中,我们使用了 Pillow 模块中的 Image 方法来改变图像的大小。

from tkinter import *
from PIL import Image, ImageTk

ws = Tk()
ws.title('PythonGuides')
ws.geometry('500x400')
ws.config(bg='#4a7a8c')

def resize_func():
    image = Image.open("images/sasuke.png")
    w = int(width.get())
    h = int(height.get())
    resize_img = image.resize((w, h))
    img = ImageTk.PhotoImage(resize_img)
    disp_img.config(image=img)
    disp_img.image = img

frame = Frame(ws)
frame.pack()

Label(
    frame,
    text='Width'
    ).pack(side=LEFT)
width = Entry(frame, width=10)
width.insert(END, 300)
width.pack(side=LEFT)

Label(
    frame,
    text='Height'
    ).pack(side=LEFT)

height = Entry(frame, width=10)
height.insert(END, 350)
height.pack(side=LEFT)

resize_btn = Button(
    frame,
    text='Resize',
    command=resize_func
)
resize_btn.pack(side=LEFT)

disp_img = Label()
disp_img.pack(pady=20)

ws.mainloop()

输出

在这个输出中,您可以看到图像正在根据用户提供的高度和宽度调整大小。是用 Python Tkinter 创建的成熟应用程序,可用于日常活动。

python tkinter image resize

Python Tkinter image resize

阅读: Python Tkinter 按钮–如何使用

Python Tkinter 图像大小

在这一节中,我们将学习如何在 Python Tkinter 中获取图像大小。

  • 这个过程中的第一件事是从 PIL 导入 Image,ImageTk。
  • 然后 ImageTk 提供了 width 和 height 方法,使用该方法我们可以获得图像的大小。

代码

在这段代码中, text=f'width: {img.width()} height: {img.height()}' 该命令显示图像的高度和宽度。这里,img 是存储文件 file 的变量。

from tkinter import *  
from PIL import ImageTk,Image  

ws = Tk()  
ws.title('PythonGuides')
ws.geometry('500x500')

canvas = Canvas(
        ws, 
        width = 500, 
        height = 400
        )  
canvas.pack()  
img = ImageTk.PhotoImage(Image.open('images/workstation.jpg'))  

canvas.create_image(
        10, 
        10, 
        anchor=NW, 
        image=img
        ) 
Label(
    ws,
    text=f'width: {img.width()} height: {img.height()}'
).pack()

ws.mainloop() 

输出

在这个输出中,您可以看到图像的高度和宽度显示在页面的底部。

python tkinter image size

Python Tkinter Image Size

阅读:用 Python Tkinter 创建一个贪吃蛇游戏

Python Tkinter Image Label

在本节中,我们将学习如何在 Python Tkinter 中的标签小部件上设置图像。

  • Python Tkinter 中的 label 小部件用于在应用程序窗口中显示文本和图像。
  • 标签小部件有一个属性图像。向该属性添加图像文件将在标签小部件上设置图像。
  • 如果您正在处理 PNG 图像,那么您可以简单地使用 PhotoImage 方法,这是 Python Tkinter 中的一个内置方法。
  • 对于高级功能和所有扩展,使用枕头库中的图像 ImageTk。

代码

下面是使用 Python Tkinter 中的标签小部件显示图像的简单代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')

img = PhotoImage(file='images/sasuke.png')
Label(
    ws,
    image=img
).pack()

ws.mainloop()

输出

python tkinter images

Python Tkinter Image on Label Widget

阅读:如何使用 Python Tkinter 获取用户输入并存储在变量中

Python Tkinter 镜像不存在

这是几乎所有使用 Python Tkinter 处理图像的程序员都会遇到的一个常见错误,即 Python Tkinter 图像不存在

  • 这个错误主要有三个原因:
    • 提供的图像路径不正确
    • 您已经使用 var = Image.open(pathToImage) 读取了图像,但没有将其传递给 ImageTk.PhotoImage(var)
    • 声明一个全局变量,以防在函数中使用图像。
  • _tkinter。TCL 错误:无法识别图像文件“images/workstation.jpg”中的数据
  • 如果你看到上面的错误代码,这意味着你正试图使用 PhotoImage JPG 图像文件。
  • 要解决这个问题,要么使用 PNG 图像文件,要么切换到 Pillow。因为枕形模块允许使用各种图像扩展。

您可能会喜欢以下 Python tkinter 教程:

在本教程中,我们学习了如何在 Python Tkinter 中添加图像。此外,我们已经讨论了这些主题。

  • python tkinter image(python tkinter 映像)
  • Python Tkinter 图像显示
  • python tkinter image button(python tkinter image 按钮)
  • Python Tkinter 图像背景
  • python tkinter image resize(python tkinter image resize)
  • python tkinter image size(python tkinter image 大小)
  • Python Tkinter Image Label
  • Python Tkinter 图像不存在

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python tkinter 标签–如何使用

原文:https://pythonguides.com/python-tkinter-label/

Python & Machine Learning training courses

你在努力学习 Python GUI 编程吗?让我们来详细了解一下 Python Tkinter 标签。如何在 Python Tkinter 中使用标签?我们将涵盖以下所有主题:

  • 关于 Tkinter 标签
  • tkinter label font size(tkinter label 字体大小)
  • t 中间标签位置
  • 标签边框
  • Tkinter 标签透明背景
  • 标签间属性
  • tkinter label image(tkinter label 影像)
  • 标签间属性
  • tkinter label image(tkinter label 影像)
  • 标签文本左对齐

目录

Python Tkinter 标签

让我们看看什么是 Python Tkinter 标签

  • 标签仅仅意味着屏幕上的文本。
  • 它可能是一个指令或信息。
  • 标签是广泛使用的小部件,是所有 GUI 支持工具和语言中的一个命令。
  • 标签也用于显示图像和图标。
  • 几个受欢迎的标签选项是:
    • 文本:显示文本
    • 文本变量:指定将替换文本的名称。主要在文本发生变化时使用。
    • 下划线:仅给文本字符串的一个字符加下划线
    • width :给标签加上宽度,取一个数字作为参数。
    • 图像:添加图像或样式化标签。它使用 style.map()
    • 复合(compound):显示带有文本的图像,同时提供对图像位置的控制。

还有,你可能喜欢, Python Tkinter Title

Tkinter label font size

让我们看看如何在 Python Tkinter 标签中设置字体大小。

  • 字体大小强调用户。
  • 它让事情变得更加清晰易读。
  • 标签中的字体大小可以使用关键字字体来控制

语法:

在这个语法中, ws 是我们使用的主字体,font-name 可以是 ms word 支持的任何字体,如 Arial、Times new roman、Calibri 等。粗细可以是粗体、斜体、下划线。

Label(ws, text="any text here", font=('font-name & weight', 'font-size')

代码:

from tkinter import *

ws = Tk()

Label(ws, text="Hello there!", font=("arial italic", 18) ).pack()

ws.mainloop()

输出:

所以在这个输出中,您可以看到文本“Hello there!”大小为 18,是斜体。同样,你可以把加粗加下划线

Python tkinter label

Python tkinter label

你可能会喜欢,身体质量指数计算器使用 Python Tkinter

Tkinter 标签位置

  • 部件的正确放置可以产生不同。
  • 标签位置可以用 & 来控制
  • 请参考我们的几何定位部分以了解更多信息

语法:

Label(ws, text="any text", font=(14, "roboto")).pack()
Label(ws, text="any text", font=(14, "roboto")).grid(row=value, columns=value)
Label(ws, text="any text", font=(14, "roboto")).place(x=coordinate_value, y=coordinate_value)

Tkinter 标签边框

  • Python Tkinter 标签 border 定义了边框的类型&它的粗细。
  • 有 6 种类型的边框,每种都有其 on 属性:
    • 升起
    • 沉没
    • 山脊
    • 固体
    • 凹槽
  • 默认情况下,平面处于活动状态。
  • borderwidth 关键字用来定义边框的粗细。
  • relief 关键字用于定义边框的类型。

语法: borderwidth 应提供任意整数值,relief 应提供任意这些(平的、凸起的、凹陷的、脊形的、实心的、凹槽的)。

Label(ws, text="any text", borderwidth=value, relief="typeofborder").pack()

代码:

from tkinter import *

ws = Tk()
ws.title("Border")
ws.geometry("300x400")

Label(ws, text="Flat border", borderwidth=3, relief="flat", padx=5, pady=10).pack(padx=5, pady=10)
Label(ws, text="raised border", borderwidth=3, relief="raised", padx=5, pady=10).pack(padx=5, pady=10)
Label(ws, text="sunken border", borderwidth=3, relief="sunken", padx=5, pady=10).pack(padx=5, pady=10)
Label(ws, text="ridge border", borderwidth=3, relief="ridge", padx=5, pady=10).pack(padx=5, pady=10)
Label(ws, text="solid border", borderwidth=3, relief="solid", padx=5, pady=10).pack(padx=5, pady=10)
Label(ws, text="groove border", borderwidth=3, relief="groove",padx=5, pady=10).pack(padx=5, pady=10)

ws.mainloop() 

输出:

在此输出中,显示了所有类型的边框,每种边框的宽度为 3 个像素。padx & pady 决定盒子周围的额外空间。

Python Label border width

Tkinter label border

Tkinter 标签透明背景

  • 透明背景意味着你可以透过框架看到。
  • 只有一个图像会出现,其余的框架将不可见。
  • 确保拍摄没有背景的图像
  • 为图像提供背景颜色,并为 wm_attributes 命令分配相同的颜色。
  • 我们试过各种颜色,但灰色效果最好。

语法:

这个颜色名称应该与图像背景颜色相同。我们尝试了许多颜色,但灰色最适合这个。

ws.wm_attributes("-transparentcolor", 'colorname') 

代码:

from tkinter import *

ws = Tk()

giant=PhotoImage(file='bg.png')
Label(ws,image=giant,bg='grey').pack()
ws.wm_attributes("-transparentcolor", 'grey')

ws.mainloop()

输出:

在这个输出中,显示了没有背景的 giant 图片。你可以透过相框看到。

Python Label transparent background

https://static.wikia.nocookie.net/clashofclans/images/3/35/Giant_info.png/revision/latest/scale-to-width-down/340?cb=20170927232347

Tkinter 标签属性

  • 属性是指标签的特征
  • 它们也被称为促进更多功能的选项
  • 虽然我们已经在这个博客中讨论了其中的大部分。
  • 但是我们在这里对它们进行总结。
  • 属性如下:
  1. 颜色:
  • 颜色在软件开发中起着重要的作用。
  • 每种颜色都有一些含义,比如红色代表错误,绿色代表正确,等等。
  • bg 用于填充标签的背景颜色
  • fg 用于改变文本颜色。
  • 您可以提供颜色名称或十六进制代码

举例:

Label(ws, text="colors", bg="blue", fg="#000").pack()

2字体:

  • 字体使文本可读。
  • 要了解更多关于字体的信息
  • 请参考我们的 Tkinter 标签字体大小部分

举例:

Label(ws, text="font demo", font=('arial bold', 18)).pack()

3。救济:

  • 浮雕用于为边框提供装饰。
  • 它有各种选项可以用来强调文本。
  • 要了解更多关于选项的信息,请查看 Tkinter 标签边框部分。

举例:

Label(ws, text="relief demo", borderwidth=3, relief='solid border').pack()

4. cursor :

  • 它用来改变光标悬停在标签上时的图像。
  • 以下是可以使用的所有光标的列表
  • 箭头,圆圈,时钟,点盒,交换,芙蓉,心脏人,老鼠,海盗,pls,穿梭,上浆,蜘蛛,喷雾罐,星星,目标,tcross,迷航,手表

举例:

Label(ws, text="cursor demo", cursor="watch").pack()

5。高度&宽度:

  • 高度决定了标签的垂直尺寸。
  • 宽度决定了标签的水平尺寸

举例:

Label(ws, text="Height & width", height=5, width=10).pack()

6。帕德克斯&帕迪

  • padx 垂直添加空白空间
  • pady 水平添加空白空间
  • 如果在标签中使用它们,那么它们会在框内增加额外的空间
  • 如果在定位部分(包装/网格/位置)使用它们,则在框外添加空间。

例:盒子里面

Label(ws, text="padding demo", padx=10, pady=5).pack()

7 . 狡辩:

  • Justify 用于对齐。
  • 它的工作方式类似于 anchor,但只有三个选项
  • 左、中、右
  • 程序员更喜欢使用,因为它提供了更多的控制

举例:

Label(ws, text="padding demo", justify=CENTER).pack()

8。主播:

  • 锚点还提供了对齐控制。
  • 要了解更多信息,请参考我们的章节标签间文本对齐

举例:

Label(ws, text="padding demo").pack(anchor='w')

所以这些是标签的流行属性。他们中的大多数在其他窗口小部件以及入口、按钮等中工作。现在在我们结束这一节之前,这里有一个程序,其中使用了一些属性。为了让你相信,控件是按顺序放置的。请注意使用的每一个属性。光标一号是我的最爱

代码:

from tkinter import *

ws = Tk()
ws.title("pythonguides")
ws.geometry('200x150')

Label(ws, text='danger', bg='red', fg='red', font=('Arial bold', 14), relief='raised', cursor='pirate', height=4, width=10, padx=10, pady=10, justify=CENTER).pack(padx=10, pady=10, anchor='w')

ws.mainloop()

输出:

这是一个使用上述所有属性创建的简单程序。几个亮点,光标对海盗图标有变形能力,虽然是 pack() 但由于锚设置为 west 所以还在角落里,蓝色是BG红色文字是 fg 。文本对齐居中等。

Python Label attributes

Tkinter label attributes

Tkinter label image

  • 图像让事情变得有趣。
  • 在这一节中,我们将学习如何把图像放在标签中
  • 我们还将学习在图像上放置文本。

语法:

var-name = PhotoImage(file="path/of/image.extension")
Label(ws, image=var-name).pack() 

代码:

from tkinter import *

ws = Tk()
ws.title("giant image")

giant = PhotoImage(file="bg.png")
Label(ws, text="hi",image=giant).pack(side="top")
intro = '''Hi! I am Giant from COC, I have been programmed to
break walls & bones.''' 
Label(ws, text=intro, anchor=S, font=('Arial bold', 14), underline=9).pack(side="bottom")

ws.mainloop()

输出:

在这个输出中,已经放置了巨人的图像,在图像下面有一个关于他的简短信息。在介绍部分 G 是带下划线的,为此我们在标签中使用了下划线选项。

Tkinter label image

Tkinter label image

Tkinter 标签文本对齐

  • 对齐是指文本方向的快速定位。
  • 方向意味着:
    • :北
    • 南方:南方
    • 东:东
    • 西方
    • 东北方
    • 西北方向:西北方向
    • 东南方向
    • 西南:西南
    • 居中
  • anchor 关键字用于定位标签小部件。

语法:在方向的位置提供其中的任何一个( SNSEWNESESWCENTER

Label(ws, text="sometext", anchor= direction).pack()

代码:

from tkinter import *

ws = Tk()
ws.title("Border")
ws.geometry("50x100")

Label(ws, text="Left", anchor=W).pack(fill='both')
Label(ws, text="Right", anchor=E).pack(fill='both')

ws.mainloop() 

输出:

在这个输出中,您可以看到文本已经使用左右对齐。

Python Label text-alignment

Python Label text-alignment

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了 Python tkinter 标签

  • Python 中的 Tkinter 标签是什么
  • tkinter label font size(tkinter label 字体大小)
  • t 中间标签位置
  • 标签边框
  • Tkinter 标签透明背景
  • 标签间属性
  • tkinter label image(tkinter label 影像)
  • 标签间属性
  • tkinter label image(tkinter label 影像)
  • 标签文本左对齐

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 列表框–如何使用

原文:https://pythonguides.com/python-tkinter-listbox/

Python & Machine Learning training courses

在这个 Python 教程中,我们将通过几个例子了解 Python Tkinter Listbox ,我们也将涵盖这些主题

  • Python Tkinter 列表框简介
  • 如何从 Python Tkinter 列表框中获取所选项
  • 如何在 Python Tkinter Listbox 中使用 curselection
  • 如何从 Python Tkinter 列表框中获取所有项目
  • 带复选框的 Python Tkinter 列表框
  • 如何实现 Python Tkinter Listbox 滚动条
  • Python Tkinter 列表框大小
  • 如何从 Python Tkinter Listbox 中选择多个项目?
  • Python Tkinter 列表框设置所选项
  • Python Tkinter 列表框绑定

如果您是 Python Tkinter 或 Python GUI 编程的新手,请查看 Python GUI 编程(Python Tkinter)

目录

Python Tkinter 列表框

  • Python Tkinter Listbox 是另一个显示多个项目的小部件。
  • 用户可以选择单个项目或多个项目。
  • 任何被选中的项目都可以被称为“”。这是 Python Tkinter 列表框的预览。

python tkinter listbox

Python Tkinter Listbox

语法:

variable_name = Listbox(ws)
variable_name.pack()

# to insert items in the list
variable_name.insert(index, string) 

python tkinter listbox syntax

Python Tkinter Listbox Syntax

阅读: Python TKinter 添加图片

Python tkinter 列表框获取选中的项目

  • 让我们看看如何从 Python Tkinter Listbox 中获取选中的项目。get 函数用于获取所选项的名称。
  • 所选项目可以与锚相关,因为所选项目充当超链接
  • 我们需要将锚点作为 get 函数的参数传递。

代码:

在这段代码中,我们创建了一个列表,单击按钮就可以获取列表框中的项目。

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    show.config(text=lb.get(ANCHOR))

lb = Listbox(ws)
lb.pack()
lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')

Button(ws, text='Show Selected', command=showSelected).pack(pady=20)
show = Label(ws)
show.pack()

ws.mainloop()

输出:

在这个输出中,有四个选项可用。用户可以点击任何项目,然后点击按钮打印所选项目。

python tkinter listbox show selected item

Python tkinter listbox get selected item

阅读:如何用 Python Tkinter 创建贪吃蛇游戏

Python tkinter 列表框光标选择

  • Python tkinter 列表框光标选择用于显示选中的项目。
  • curselection 是一个预定义的函数,用于获取选定项目的值。
  • curselection 主要用于需要获取多个值的时候。

代码:

在这段代码中,我们打印了单击按钮时所选择的项目名称。

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    itm = lb.get(lb.curselection())
    var.set(itm)

var =StringVar()
lb = Listbox(ws)
lb.pack()

lb.insert(0, 'Iceland')
lb.insert(1, 'USA')
lb.insert(2, 'China')
lb.insert(3, 'Europe')

disp = Label(ws, textvariable=var)
disp.pack(pady=20)
Button(ws, text='Show Selected', command=showSelected).pack()

ws.mainloop() 

输出:

在这个输出中,我们显示了国家的名称。用户将点击给定的国家名称,当点击按钮,它将显示选定的国家名称。

python tkinter listbox curSelection

Python tkinter listbox curselection

读取 Python Tkinter 过滤函数()

Python Tkinter 列表框获取所有项目

  • Python Tkinter Listbox 支持多选项目。因此,在本节中,我们将学习获取所有选定的项目。

代码:

在这段代码中,我们创建了一个国家列表。现在,用户可以选择他已经访问过的国家,用户可以选择多个国家,当他/她点击显示选择的按钮。然后将显示选定的国家名称。

from tkinter import *

ws = Tk() 
ws.title('Python Guides') 
ws.geometry('400x300')

var = StringVar()

def showSelected():
    countries = []
    cname = lb.curselection()
    for i in cname:
        op = lb.get(i)
        countries.append(op)
    for val in countries:
        print(val)

show = Label(ws, text = "Select Your Country", font = ("Times", 14), padx = 10, pady = 10)
show.pack() 
lb = Listbox(ws, selectmode = "multiple")
lb.pack(padx = 10, pady = 10, expand = YES, fill = "both") 

x =["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Australia", "Brazil", "Canada", "China", "Iceland", "Israel", "United States", "Zimbabwe"]

for item in range(len(x)): 
	lb.insert(END, x[item]) 
	lb.itemconfig(item, bg="#bdc1d6") 

Button(ws, text="Show Selected", command=showSelected).pack()
ws.mainloop() 

输出:

在此输出中,选择了三个国家,当单击 showSelected 按钮时,同样三个国家显示在下面。

python tkinter listbox multiple selection

Python Tkinter Listbox get all items

阅读 Python Tkinter add 函数示例

带复选框的 Python Tkinter 列表框

  • 没有办法在列表框中放置复选框。
  • 曾经有一个 tixchecklist 小部件,使用它可以在列表框中创建复选框。
  • 但是 tixchecklist 在 python 3.6 之后就停产了。

Python 的 tkinter 下拉列表框滚动栏

让我们看看如何在 Python Tkinter Listbox 中实现滚动条。

  • 当要显示的内容超过一个专用区域时,使用滚动条。
  • 它便于在屏幕上输入大量数据。
  • 可以通过滚动滚动条来访问这些数据。
  • 滚动条可以是垂直的,也可以是水平的。
  • 要在 Python Tkinter Listbox 中实现滚动条,主要有 3 个步骤:
    • 创建一个滚动条并将其放在父窗口或框架窗口中
    • 设置滚动条的类型:水平垂直
    • 配置滚动条。
  • 我们将在下面的示例中详细了解这一点。

代码:

在这段代码中,垂直和水平滚动条都被投影。
垂直滚动条 源代码

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    show.config(text=lb.get(ANCHOR))

frame = Frame(ws)
frame.pack()

lb = Listbox(frame)
lb.pack(side=LEFT)

sb = Scrollbar(frame, orient=VERTICAL)
sb.pack(side=RIGHT, fill=Y)

lb.configure(yscrollcommand=sb.set)
sb.config(command=lb.yview)
lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')
lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')
lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')
lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')

Button(ws, text='Show Selected', command=showSelected).pack(pady=20)
show = Label(ws)
show.pack()

ws.mainloop()

水平滚动条 源代码

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    show.config(text=lb.get(ANCHOR))

frame = Frame(ws)
frame.pack()

lb = Listbox(frame)
lb.pack()

sb = Scrollbar(frame, orient=HORIZONTAL)
sb.pack(fill=X)

lb.configure(xscrollcommand=sb.set)
sb.config(command=lb.xview)

lb.insert(0, 'Not all heros wear capes.')
lb.insert(1, 'Game changers are in blue')
lb.insert(2, 'With great power comes great responsibility')
lb.insert(3, 'A noun phrase has a noun or pronoun as the main word')

Button(ws, text='Show Selected', command=showSelected).pack(pady=20)
show = Label(ws)
show.pack()

ws.mainloop()

输出:

在这些输出中,第一个图像是垂直滚动条,第二个是水平滚动条。

垂直滚动条 输出

python tkinter listbox vertical scrollbar

Python tkinter listbox scrollbar

水平滚动条 输出

python tkinter listbox horizontal scrollbar

Python tkinter listbox scrollbar

Python 数据帧读取到 CSV

Python Tkinter 列表框大小

  • 你可能认为大小与改变列表框的大小有关。
  • 但是这里的大小是 Listbox 中的一个方法
  • Size 用于获取列表框中的行数。

代码:

在这段代码中,我们创建了一个包含 4 项的列表框程序。我们已经使用了 Size 的方法来计算行数。

from tkinter import *

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    show.config(text=lb.get(ANCHOR))

lb = Listbox(ws)
lb.pack()

lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')

print(lb.size())

Button(ws, text='Show Selected', command=showSelected).pack(pady=20)
show = Label(ws)
show.pack()

ws.mainloop()

输出:

在此输出中,预计将实现 size 方法。catch 方法用于计算 Listbox 中的行数。所以在这种情况下,4 行中有 4 个项目。所以出现的输出是 4。

python tkinter listbox size

Python tkinter listbox size

Python Tkinter 列表框多选

  • 多重选择是指从 Python Tkinter 列表框中获取所有项目。
  • 列表框支持多项选择。
  • selectmode = 'multiple' 用于选择多个项目。

代码:

from tkinter import *

ws = Tk() 
ws.title('Python Guides') 
ws.geometry('400x300')

var = StringVar()

def showSelected():
    countries = []
    cname = lb.curselection()
    for i in cname:
        op = lb.get(i)
        countries.append(op)
    for val in countries:
        print(val)

show = Label(ws, text = "Select Your Country", font = ("Times", 14), padx = 10, pady = 10)
show.pack() 
lb = Listbox(ws, selectmode = "multiple")
lb.pack(padx = 10, pady = 10, expand = YES, fill = "both") 

x =["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Australia", "Brazil", "Canada", "China", "Iceland", "Israel", "United States", "Zimbabwe"]

for item in range(len(x)): 
	lb.insert(END, x[item]) 
	lb.itemconfig(item, bg="#bdc1d6") 

Button(ws, text="Show Selected", command=showSelected).pack()
ws.mainloop() 

输出:

python tkinter listbox multiple selection

Python tkinter listbox multiple selection

Python Tkinter Listbox 设置选中项

  • Python 设置选定项是指在 Python Tkinter 列表框中设置默认项。
  • 每当用户运行程序时,已经选择了一个默认值

代码:

在此代码中,索引 2 上的“黄色”被选为默认选项。更改选择集中的索引号将会更改默认的项目偏好。

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')
ws.config(bg='#446644')

def showSelected():
    show.config(text=lb.get(ANCHOR))

lb = Listbox(ws)
lb.pack()

lb.insert(0, 'red')
lb.insert(1, 'green')
lb.insert(2, 'yellow')
lb.insert(3, 'blue')
lb.select_set(2) 

Button(ws, text='Show Selected', command=showSelected).pack(pady=20)
show = Label(ws)
show.pack()

ws.mainloop()

输出:

在这个输出中,默认情况下,在运行程序后立即选择黄色。

python tkinter listbox set selected

Python tkinter listbox set selected item

Python Tkinter 列表框绑定

  • Python Listbox bind 用于设置事件执行时将发生的动作。
  • 发生在 Listbox 小部件上的任何活动都称为事件。
  • 获得焦点、失去焦点、点击等等是事件的几个例子。
  • 在本节中,我们将了解一些常见的绑定事件:
    • <>:告知用户何时选择或取消选择列表框项目
    • < Double-1 > :当用户双击列表框中的一项时触发活动。

代码:

在这段代码中,<>用于绑定带有回调函数的事件。此代码返回所选列表框项目的索引号。

from tkinter import *

def showSelected(event):
    temp= str(event) + '\n' + str(lb.curselection())
    show.configure(text=temp)

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x250')
ws.config(bg='#F9F833')

var = StringVar(value=dir())

lb = Listbox(ws, listvariable=var, selectmode='extended')
lb.pack()

lb.bind('<<ListboxSelect>>', showSelected)

show = Label(ws)
show.pack()

ws.mainloop()

输出:

在此输出中,below label 显示了 Listbox 中选定项的索引号。

python tkinter listbox bind

Python tkinter listbox bind

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了关于 Python Tkinter listbox 的内容,我们还涵盖了以下主题:

  • Python tkinter listbox 是什么,怎么用?
  • 如何从 python tkinter listbox 中获取选中的项目?
  • Python tkinter listbox curselection
  • 如何从 Python tkinter Listbox 中获取所有项目?
  • 带复选框的 Python tkinter 列表框
  • Python tkinter listbox 滚动条
  • Python tkinter 列表框大小
  • Python tkinter 列表框多重选择
  • Python tkinter 列表框设置所选项
  • Python tkinter 列表框绑定

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 主循环及示例

原文:https://pythonguides.com/python-tkinter-mainloop/

Python & Machine Learning training courses

在本 Python Tkinter 教程中,我们将学习关于 Python Tkinter 主循环的一切。此外,我们将涵盖这些主题。

  1. Python Tkinter 主循环
  2. Python Tkinter 主循环线程
  3. Python Tkinter 主循环出口
  4. Python Tkinter 主循环阻塞
  5. Python Tkinter 主循环无阻塞
  6. Python Tkinter 主循环更新
  7. Python Tkinter 主循环事件
  8. Python Tkinter 主循环定时器
  9. Python Tkinter 主循环背景

目录

Python Tkinter 主循环

Python Tkinter 中的 Mainloop 是应用程序窗口的无限循环,它永远运行,这样我们就可以看到静止的屏幕。

  • 应用程序窗口就像一个帧,每一微秒都在不断破坏,但是主循环不断创建一个新的更新窗口。
  • 这个摧毁旧纱窗、创造新纱窗的过程发生得如此之快,以至于人眼都没有意识到。
  • 由于进程运行的时间是无限的,这就是为什么我们能够看到应用程序在我们面前,当我们关闭窗口,然后循环终止或退出。
  • C 或 C++程序员可以将这与我们用 C 或 C++运行程序时的情况联系起来,在显示结果后,黑色的输出窗口关闭。但是,如果有意或无意地触发了无限循环,那么黑色窗口将保持不变,并继续显示消息。
  • 无限循环投射更新的窗口,这个过程太快了,我们感觉它在更新。

下面是用 Python Tkinter 实现主循环的代码。 mainloop() 总是应用在代码的最后一行。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')

ws.mainloop()

python tkinter mainloop

mainloop in Python Tkinter

Python Tkinter 主循环线程

线程是作为独立实体与程序并行的进程。换句话说,通过使用线程,我们可以同时在同一个程序中运行多个东西。

  • 线程就像程序的一个分支,作为一个独立的实体运行,一旦任务完成,它就会合并回主循环。
  • 线程通过在一个任务运行时避免屏幕冻结来节省用户时间。

阅读: Python Tkinter Checkbutton

Python Tkinter 主循环出口

Python Tkinter 提供了 destroy() 函数,使用该函数我们可以退出 Python Tkinter 中的主循环。 destroy() 函数可以应用于父窗口、框架、画布等。

下面是演示 Python Tkinter 主循环出口的代码

在这段代码中,我们创建了一个退出按钮,单击它将关闭窗口。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')
ws.config(bg='#4a7a8c')

Button(
    ws,
    text='Exit',
    command=lambda:ws.destroy()
).pack(expand=True)

ws.mainloop()

下面是上面代码的输出,演示 Python Tkinter 主循环出口

在这个输出中,当单击 exit 按钮时,主循环退出。

python tkinter mainloop exit

Python Tkinter Mainloop exit

Python Tkinter 主循环阻塞

Mainloop() 方法在 Python Tkinter 中起着重要的作用,因为它会在每次事件发生时更新应用程序的图形用户界面(GUI)。

  • 但是上述语句中令人难过的部分是主循环等待事件发生。这意味着它阻塞了主循环之外的代码。
  • Python 逐行执行代码,所以除非主循环没有终止,否则不允许 python 在主循环之外执行代码。
  • 在下一节中,我们学习了如何在 Python Tkinter 中修复主循环阻塞。

下面是演示 Python Tkinter 主循环阻塞的代码

在这段代码中,我们创建了 GUI (Tkinter)和基于终端的应用程序。

# GUI based application

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')
ws.config(bg='#4a7a8c')

Button(
    ws,
    text='Exit',
    command=lambda:ws.destroy()
).pack(expand=True)

ws.mainloop()

# terminal based application

name = input('Enter your name ')
print('Good Morning ',name)

输出:

  • 在这个输出中,你可以注意到当 app.py 被执行时,Tkinter 应用程序出现在屏幕上,但是基于终端的应用程序只在 Tkinter 应用程序关闭时才出现。
  • 这是因为主循环阻塞了代码。

Python Tkinter Mainloop Blocking

Python Tkinter Mainloop Blocking

阅读: Python Tkinter 单选按钮–如何使用

Python Tkinter 主循环无阻塞

在上一节中,我们已经看到了 Python Tkinter 主循环阻塞。现在我们将学习如何创建一个 Python Tkinter 非阻塞主循环。

  • 线程是 Python Tkinter 中的库,使用它可以编写主循环非阻塞代码。
  • 线程提升了程序中的多任务特性。这意味着代码块作为一个单独的实体运行。
  • 在大型应用程序中使用线程是首选,但对于小型应用程序来说, after()update() 做了同样的事情。
  • 在我们的例子中,我们将在()之后使用进行解释。对于线程更新(),我们在这个博客中有不同的部分。
  • 因此,如果我们继续前面的例子,现在 GUI (Tkinter)和基于终端的应用程序应该同时出现。

下面是演示 Python Tkinter 主循环非阻塞的代码

在这段代码中,我们创建了保存基于终端的应用程序代码的函数,并在第 18 行使用 after 函数调用该函数。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')
ws.config(bg='#4a7a8c')

def greet_user():
    name = input('Enter your name ')
    print('Good Morning ',name)   

Button(
    ws,
    text='Exit',
    command=lambda:ws.destroy()
).pack(expand=True)

ws.after(0, greet_user)
ws.mainloop() 

在这个输出中,基于终端的应用程序和基于 GUI 的应用程序同时运行。这样,主循环就不会阻塞其他应用程序。

Python Tkinter Mainloop Non Blocking

Python Tkinter Mainloop Non Blocking

Python Tkinter 主循环更新

Python Tkinter 中 mainloop 的 Update() 方法用于显示更新后的屏幕。它反映了事件发生时的变化。在下面的例子中,我们展示了 Python Tkinter 中的 update() 函数。

Python Tkinter 主循环的源代码更新示例

在这个代码中,日期、星期和时间被显示。该信息从系统中获取,Tkinter 窗口持续更新以显示最新信息。

from tkinter import *
import time

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#5f734c')

time_lbl = Label(
    ws,
    text=time.strftime( "%d/%m/%Y %A %H:%M:%S"),
    font=(21),
    padx=10,
    pady=5,
    bg='#d9d8d7'
    )

time_lbl.pack(expand=True)
ws.update()

while True:
    time.sleep(1)
    time_text=time.strftime("%d/%m/%Y %A %H:%M:%S")
    time_lbl.config(text=time_text)
    ws.update()

ws.mainloop() 

Python Tkinter 主循环更新示例的输出

在这个输出中,时间是不断变化的,更新是可见的,因为我们在主窗口上应用了更新功能。

python tkinter mainloop update

Python Tkinter Mainloop Update

阅读: Python Tkinter 按钮

Python Tkinter 主循环事件

在本节中,我们将学习 Python Tkinter 中主循环中的事件。同样,我们也看到了同样的例子。

  • 事件是指执行的任何活动,它可以是预定的活动或由用户手动执行的活动。点击按钮、在输入框中填充信息、选择单选按钮等触发事件。
  • 主循环等待事件发生,以便更新屏幕。等待事件会导致阻塞,但可以通过使用 Python Tkinter 中的 thread、update 或 after 函数来解决
  • 在我们的例子中,我们将演示生成密码的程序,同时它将在终端上显示一条消息。

Python Tkinter 主循环事件示例的源代码

在这段代码中,我们创建了两个程序,一个是基于 gui 的,另一个是基于终端的。其中基于终端的每 2 秒触发一个事件,而基于 gui 的应用程序在用户点击按钮时触发。这里要注意的是两者都是并行运行的,没有阻塞代码。

from tkinter import *
import random

ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#5f734c')
ws.geometry('400x300')

def generate_password():
    digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 
    lc = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
                     'i', 'j', 'k', 'm', 'n', 'o', 'p', 'q',
                     'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
                     'z']

    uc = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
                     'I', 'J', 'K', 'M', 'N', 'O', 'p', 'Q',
                     'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
                     'Z']

    spch = ['@', '#', '$', '%', '=', ':', '?', '.', '/', '|', '~', '>',
           '*', '(', ')', '<']

    pwd = random.choice(digits) + random.choice(lc) + random.choice(uc) + random.choice(spch)
    password = pwd+pwd
    lbl.config(text=password)

lbl = Label(
    ws,
    bg='#5f734c', 
    font=(18)
    )
lbl.pack(expand=True)

btn = Button(
    ws,
    text='Generate Password',
    padx=10, 
    pady=5,
    command=generate_password
)
btn.pack(expand=True)

def message():
    print('Keep yourself hyderated.')
    ws.after(2000, message) 

ws.after(2000, message)
ws.mainloop()

Python Tkinter 主循环事件示例的输出

在这个输出中,发生了两个事件,但是主循环没有阻塞代码。您可以看到基于 Gui 和基于终端的应用程序并行运行。

Python Tkinter Mainloop Event

Python Tkinter mainloop event

Python Tkinter 主循环定时器

主循环在 Python Tkinter 中起着重要的作用,因为它在屏幕上显示更新的信息。

  • Timer 是一个与时间相关的程序,我们可以使用 Python Tkinter 中的 Mainloop 来创建。
  • 我们有一个专门的部分,其中我们已经使用 Python Tkinter 创建了倒计时定时器

Python Tkinter 主循环背景

在本节中,我们将学习如何使用 Python Tkinter 中的 mainloop 在后台运行应用程序。

  • 我们将使用 Python Tkinter 主循环更新中的示例来解释 Python Tkinter 主循环的背景。
  • 在 Python Tkinter 主循环更新中,我们显示了日期日期时间。其中只有时间在不断更新,而日期和日子在后台运行。

您可能会喜欢以下 Python tkinter 教程:

在本教程中,我们将学习关于 Python Tkinter Mainloop 的一切。此外,我们将涵盖这些主题。

  • Python Tkinter 主循环
  • Python Tkinter 主循环线程
  • Python Tkinter 主循环出口
  • Python Tkinter 主循环无阻塞
  • Python Tkinter 主循环阻塞
  • Python Tkinter 主循环更新
  • Python Tkinter 主循环事件
  • Python Tkinter 主循环定时器
  • Python Tkinter 主循环背景

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter Map()函数

原文:https://pythonguides.com/python-tkinter-map-function/

Python & Machine Learning training courses

本节我们就来说说 Python Tkinter Map()函数。这篇博客将告诉你如何在 Python Tkinter 中使用地图()。

Python Tkinter Map()

Python Tkinter map()函数有两个参数,第一个是函数名&,第二个是 iterables。Iterables 是要应用函数的项目列表。Map 将给定的函数逐个应用于列表中的所有项目。

语法:

 map(func, *iterables)

代码:

这是 map 函数的实现。

在这段代码中,用户可以输入多份工资。每次他输入薪水并点击添加按钮。薪水被添加到列表中。用户需要提供评估百分比。点击“申请”将显示新增加的工资。

from tkinter import *

sal = []

# function

def mapfunction():
    res = (list(map(apply, sal))) 
    items_lb.config(text=f'{res}')

def apply(n):
    percentage = int(hike_tf.get())/100
    n = n + n * percentage
    return n

def clear():
    sal_tf.delete(0, END)
    hike_tf.delete(0, END)
    items_lb.config(text='')
    sal.clear()

def addtolist():
    temp = int(sal_tf.get())
    sal.append(temp)
    items_lb.config(text=f'{sal}')
    sal_tf.delete(0, END)

f = ('Times bold', 14)    

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#2E7175')

# Frame Widget
frame = Frame(
    ws,
    bg='#2E7175'
    )
frame.place(relx=0.5, rely=0.5, anchor=CENTER )

inside_frame = Frame(
    frame
)
inside_frame.grid(row=1, columnspan=3)

# Label Widget
sal_lb = Label(
    frame, 
    text="Salary",
    font=f,
    bg='#2E7175',
    padx=10
    )
sal_lb.grid(row=0, column=0)

hike_lb = Label(
    frame, 
    text="Hike(%)",
    font=f,
    bg='#2E7175',
    )
hike_lb.grid(row=2, column=0)

items_lb = Label(
    frame,
    text='',
    bg='#2E7175',
    font=f,
    )
items_lb.grid(row=1, column=0, columnspan=3, pady=30)

# Entry Widget
sal_tf = Entry(frame)
sal_tf.grid(row=0, column=1)

hike_tf = Entry(frame)
hike_tf.grid(row=2, column=1)

# Button widget
add_btn = Button(
    frame,
    text="Add",
    padx=10,
    command=addtolist
)
add_btn.grid(row=0, column=2, padx=10)

apply_btn = Button(
    frame, 
    text="Apply", 
    padx=10, 
    pady=5,
    command=mapfunction
    )
apply_btn.grid(row=4, column=0, pady=30)

clear_btn = Button(
    frame, 
    text="Clear", 
    padx=10, 
    pady=5,
    command=clear
    )
clear_btn.grid(row=4, column=1, pady=30)

exit_btn = Button(
    frame, 
    text="Exit", 
    padx=10, 
    pady=5,
    command=lambda:ws.destroy()
    )
exit_btn.grid(row=4, column=2, pady=30)

ws.mainloop()

输出:

在这个输出中,用户输入了两份薪水,并为每份薪水增加了 5%。map 函数采用了一个为 increment 创建的函数,并应用于这两个薪水,如您在第二张图片中所见。

Python Tkinter Map() Function

Python Tkinter Map() Function

您可能会喜欢以下 Python tkinter 教程:

在本节中,我们学习了如何使用 Python Tkinter 中的 map()函数。

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 菜单栏–如何使用

原文:https://pythonguides.com/python-tkinter-menu-bar/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习 Python Tkinter 菜单栏。我们也会讨论这些话题。

  • Python Tkinter Menu bar
  • Python Tkinter 菜单栏颜色
  • Python Tkinter 菜单栏背景色
  • Python Tkinter 菜单栏复选框
  • Python Tkinter 菜单栏类
  • Python Tkinter 菜单栏图标
  • Python Tkinter 菜单栏子菜单

如果你是 Python GUI 编程的新手,那么看看 Python GUI 编程(Python Tkinter)

目录

Python Tkinter Menu bar

  • t 中间菜单栏用于创建菜单选项,为应用程序提供附加功能
  • 菜单栏在软件和应用程序中非常常见。
  • 这是一个菜单栏的例子

python tkinter about menu bar

Python Tkinter Menu bar

  • 在这个画面中,文件、编辑、节等都是菜单栏,而菜单选项如新建文件、新建窗口等。
  • 他们中很少有人有子菜单,就像最近打开的菜单一样。小箭头表示可能的扩展。
  • 你一定在很多软件和应用程序中见过这种菜单栏。
  • 现在当你理解了菜单栏的样子,让我们来理解如何在 Tkinter 中创建它们。

你可能还喜欢,如何使用 Python Tkinter 在文本框中显示数据?还有如何在 Python Tkinter 中设置背景为图像?

Python Tkinter Menu bar 颜色

让我们看看如何在 Python Tkinter 菜单栏中赋予颜色。

  • 只有在 Linux 机器上才能给菜单栏着色。
  • 原因是 Tkinter 外包了菜单栏,这就是为什么我们的选择有限。
  • 为了在 Linux 机器上实现着色,使用关键字 background 来设置背景颜色,使用 foreground 来设置文本颜色。

代码:

下面是 Linux 上菜单栏的实现。在这里,我们创建了 3 个流行的菜单栏文件编辑、帮助。每个菜单栏都有选项。退出这些退出 & 关于都是功能性的。

from tkinter import *
from tkinter import messagebox

ws =Tk()
ws.title("Python Guides")
ws.geometry("300x250")

def about():
    messagebox.showinfo('PythonGuides', 'Python Guides aims at providing best practical tutorials')

menubar = Menu(ws, background='#ff8000', foreground='black', activebackground='white', activeforeground='black')  
file = Menu(menubar, tearoff=1, background='#ffcc99', foreground='black')  
file.add_command(label="New")  
file.add_command(label="Open")  
file.add_command(label="Save")  
file.add_command(label="Save as")    
file.add_separator()  
file.add_command(label="Exit", command=ws.quit)  
menubar.add_cascade(label="File", menu=file)  

edit = Menu(menubar, tearoff=0)  
edit.add_command(label="Undo")  
edit.add_separator()     
edit.add_command(label="Cut")  
edit.add_command(label="Copy")  
edit.add_command(label="Paste")  
menubar.add_cascade(label="Edit", menu=edit)  

help = Menu(menubar, tearoff=0)  
help.add_command(label="About", command=about)  
menubar.add_cascade(label="Help", menu=help)  

ws.config(menu=menubar)
ws.mainloop() 

输出:

在此输出中,演示了彩色菜单栏。背景是“橙色”,前景是“黑色”。

python tkinter menubar color

Python Tkinter Menu bar color

阅读: Python Tkinter Colors

Python Tkinter 菜单栏复选框

python tkinter menubar checkbox

Python Tkinter Menu bar Checkbox

  • 复选按钮或复选框允许在选项之间切换
  • 它们很简单&返回值是真还是假
  • 带有复选框的菜单栏可用于选择暗或亮模式、隐藏项目、过滤等场景。

代码:

这段代码展示了菜单栏复选框的实现。

from tkinter import *
from tkinter import messagebox

ws =Tk()
ws.title("Python Guides")
ws.geometry("300x250")

def about():
    messagebox.showinfo('PythonGuides', 'Python Guides aims at providing best practical tutorials')

def darkMode():
    if darkmode.get() == 1:
        ws.config(background='black')
    elif darkmode.get() == 0:
        ws.config(background='white')
    else:
        messagebox.showerror('PythonGuides', 'Something went wrong!')

menubar = Menu(ws, background='#ff8000', foreground='black', activebackground='white', activeforeground='black')  
file = Menu(menubar, tearoff=1, background='#ffcc99', foreground='black')  
file.add_command(label="New")  
file.add_command(label="Open")  
file.add_command(label="Save")  
file.add_command(label="Save as")    
file.add_separator()  
file.add_command(label="Exit", command=ws.quit)  
menubar.add_cascade(label="File", menu=file)  

edit = Menu(menubar, tearoff=0)  
edit.add_command(label="Undo")  
edit.add_separator()     
edit.add_command(label="Cut")  
edit.add_command(label="Copy")  
edit.add_command(label="Paste")  
menubar.add_cascade(label="Edit", menu=edit)  

minimap = BooleanVar()
minimap.set(True)
darkmode = BooleanVar()
darkmode.set(False)

view = Menu(menubar, tearoff=0)
view.add_checkbutton(label="show minimap", onvalue=1, offvalue=0, variable=minimap)
view.add_checkbutton(label='Darkmode', onvalue=1, offvalue=0, variable=darkmode, command=darkMode)
menubar.add_cascade(label='View', menu=view)

help = Menu(menubar, tearoff=0)  
help.add_command(label="About", command=about)  
menubar.add_cascade(label="Help", menu=help)  

ws.config(menu=menubar)
ws.mainloop() 

输出:

在此输出中,单击了小地图选项,这就是地图出现的原因。取消选中该框将移除小地图。没有选择黑暗模式检查按钮,这就是屏幕正常的原因。你可以复制代码,自己试试。

python tkinter menubar checkbutton

Python Tkinter Menu bar Checkbox

Python Tkinter 菜单栏类

  • 类在所有编程语言中都起着重要的作用。
  • 该类有助于避免代码的重复,并方便我们将部分代码用于另一个程序。
  • 旋转风扇的代码可以用在无人机、吊扇等程序中,就像写一次就可以在任何地方使用一样。
  • 在这一节中,我们将学习如何为菜单栏创建一个类

代码:

在这段代码中,带有 3 个菜单的框被创建为文件,编辑帮助。输出与上一节类似,但代码是类格式的。

from tkinter import *
from tkinter import messagebox

class MenuBar(Menu):
    def __init__(self, ws):
        Menu.__init__(self, ws)

        file = Menu(self, tearoff=False)
        file.add_command(label="New")  
        file.add_command(label="Open")  
        file.add_command(label="Save")  
        file.add_command(label="Save as")    
        file.add_separator()
        file.add_command(label="Exit", underline=1, command=self.quit)
        self.add_cascade(label="File",underline=0, menu=file)

        edit = Menu(self, tearoff=0)  
        edit.add_command(label="Undo")  
        edit.add_separator()     
        edit.add_command(label="Cut")  
        edit.add_command(label="Copy")  
        edit.add_command(label="Paste")  
        self.add_cascade(label="Edit", menu=edit) 

        help = Menu(self, tearoff=0)  
        help.add_command(label="About", command=self.about)  
        self.add_cascade(label="Help", menu=help)  

    def exit(self):
        self.exit

    def about(self):
            messagebox.showinfo('PythonGuides', 'Python Guides aims at providing best practical tutorials')

class MenuDemo(Tk):
    def __init__(self):
        Tk.__init__(self)
        menubar = MenuBar(self)
        self.config(menu=menubar)

if __name__ == "__main__":
    ws=MenuDemo()
    ws.title('Python Guides')
    ws.geometry('300x200')
    ws.mainloop()

输出:

在此输出中,显示了带有选项菜单的菜单栏。其中的出口和大约是功能性的。

python tkinter menubar  using class

Python Tkinter Menu bar Class

阅读: Python Tkinter Colors

Python Tkinter Menu bar 图标

  • 由于受到限制,无法在菜单栏上添加图标。
  • Tkinter 将菜单栏外包给另一家供应商,因此它为 Tkinter 菜单栏提供的功能有限。
  • 在 Tkinter 菜单栏颜色部分,我们已经看到这在 mac 和 windows 中是不允许的
  • 我们确实试图在 Linux 上实现它,但是在那里也不行。
  • 软件是一个神秘的行业,如果你找到了解决方案,请在评论中分享。

Python Tkinter Menu bar 子菜单

现在,让我们看看如何在 Python Tkinter 菜单栏中创建子菜单。

  • 子菜单是指菜单中的菜单。
  • 换句话说,嵌套菜单。
  • 示例:视图>比率>选项 1、选项 2、选项 3
  • 用户点击查看菜单,比率选项现在出现当用户点击比率,然后进一步 3 个选项出现。这被称为子菜单。

代码:

from tkinter import *
from tkinter import messagebox

class MenuBar(Menu):
    def __init__(self, ws):
        Menu.__init__(self, ws)

        file = Menu(self, tearoff=False)
        file.add_command(label="New")  
        file.add_command(label="Open")  
        file.add_command(label="Save")  
        file.add_command(label="Save as")    
        file.add_separator()
        file.add_command(label="Exit", underline=1, command=self.quit)
        self.add_cascade(label="File",underline=0, menu=file)

        edit = Menu(self, tearoff=0)  
        edit.add_command(label="Undo")  
        edit.add_separator()     
        edit.add_command(label="Cut")  
        edit.add_command(label="Copy")  
        edit.add_command(label="Paste")  
        self.add_cascade(label="Edit", menu=edit) 

        view = Menu(self, tearoff=0)
        ratio = Menu(self, tearoff=0)
        for aspected_ratio in ('4:3', '16:9'):
            ratio.add_command(label=aspected_ratio)
        view.add_cascade(label='Ratio', menu=ratio)
        self.add_cascade(label='View', menu=view)

        help = Menu(self, tearoff=0)  
        help.add_command(label="About", command=self.about)  
        self.add_cascade(label="Help", menu=help)  

    def exit(self):
        self.exit

    def about(self):
            messagebox.showinfo('PythonGuides', 'Python Guides aims at providing best practical tutorials')

class MenuDemo(Tk):
    def __init__(self):
        Tk.__init__(self)
        menubar = MenuBar(self)
        self.config(menu=menubar)

if __name__ == "__main__":
    ws=MenuDemo()
    ws.title('Python Guides')
    ws.geometry('300x200')
    ws.mainloop()

输出:

在此输出中,视图有菜单选项为比率,比率还有子菜单。

python tkinter menubar sub menu

Python Tkinter Menu bar submenu

您可能会喜欢以下 Python 教程:

在本节中,我们已经了解了 Python Tkinter 菜单栏,并且我们已经涵盖了这些主题。

  • Python Tkinter Menu bar
  • Python Tkinter 菜单栏颜色
  • Python Tkinter 菜单栏背景色
  • Python Tkinter 菜单栏复选框
  • Python Tkinter 菜单栏类
  • Python Tkinter 菜单栏图标
  • Python Tkinter 菜单栏子菜单

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter messagebox + 19 个示例

原文:https://pythonguides.com/python-tkinter-messagebox/

Python & Machine Learning training courses

继续阅读了解更多关于 Python Tkinter messagebox 的内容,我们将举例讨论 Python Tkinter 中的 messagebox。

  • Python Tkinter messagebox
  • Python Tkinter messagebox 选项
  • Python tkinter messagebox 大小
  • Python tkinter messagebox 问题
  • python tkinter messagebox ask yesno
  • Python tkinter messagebox 位置
  • Python tkinter messagebox 文档
  • Python tkinter 是否对话框
  • Python tkinter 是否消息框
  • Python Tkinter 对话窗口
  • Python Tkinter 对话框是否
  • 使用对话框打开路径
  • Python Tkinter 对话框返回值
  • Python Tkinter 对话框模式
  • Python Tkinter 对话框焦点
  • Python Tkinter 弹出消息
  • python Tkinter 弹出输入框
  • python Tkinter 弹出对话框
  • python Tkinter 弹出菜单
  • python Tkinter 关闭弹出窗口

如果您是 Python Tkinter 或 Python GUI 编程的新手,请查看 Python GUI 编程

目录

Python tkinter messagebox

  • Messagebox 用于显示弹出消息。
  • 要开始使用 message box,请在 Python 中导入一个库 messagebox。
  • Messagebox 主要提供了 6 种类型的消息提示,如 showinfo()、showerror()、showwarning()、askquestion()、askokcancel()、askyesno()、askretyrcancel()。

| showinfo() | 需要显示任何确认/信息时使用。如登录成功、消息发送等。 |
| showerror() | 用于显示带声音的错误提示。它出现的理想时间是当用户犯了任何错误或者跳过了必要的步骤。 |
| showwarning() | 显示带有感叹号的警告提示。它警告用户即将出现的错误。 |
| askquestion() | 它向用户询问。它还返回'或' |
| 抗癌药() | 它提示'确定'或'取消【T3 ',返回'或'假【T7 '**** |
| 【asyesno() | 它提示'是''否'。返回表示‘是’,返回表示‘否’ |
| askyenocancel() | 提示'是',【否】,,【取消】。是返回真,否返回假,取消返回无 |
| askretrycancel() | 提示重试取消选项。重试返回,取消返回假。 |

查看,如何使用 Python Tkinter 生成工资单

Python tkinter messagebox 选项

  • Python Messagebox 选项在上面一点已经提到了
  • 所以在这里我们用一个例子来看一下,我们会看到 showinfo()、showwarning()、askquestion()、askokcancel()、askyesno()、askretrycancel()的例子。

语法:

from tkinter import messagebox
messagebox.option('title', 'message_to_be_displayed')

python tkinter messagebox syntax

python tkinter messagebox

代码:

下面是代表各种消息框的代码。

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('Python Guides')
ws.geometry('300x200')
ws.config(bg='#5FB691')

def msg1():
    messagebox.showinfo('information', 'Hi! You got a prompt.')
    messagebox.showerror('error', 'Something went wrong!')
    messagebox.showwarning('warning', 'accept T&C')
    messagebox.askquestion('Ask Question', 'Do you want to continue?')
    messagebox.askokcancel('Ok Cancel', 'Are You sure?')
    messagebox.askyesno('Yes|No', 'Do you want to proceed?')
    messagebox.askretrycancel('retry', 'Failed! want to try again?')

Button(ws, text='Click Me', command=msg1).pack(pady=50)

ws.mainloop()

输出:

以下是点击点击我按钮时显示的选项。

python tkinter messagebox options

python tkinter messagebox examples

你可能会喜欢 Python Tkinter 在文本框中显示数据如何在 Python Tkinter 中设置背景为图像

Python tkinter messagebox 大小

  • 没有办法改变 messagebox 的大小。
  • 只有更多的文本才能扩展 messagebox 的大小。
  • 在本例中,我将更改文本内容以拉伸消息框的大小。

代码:

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x300')

def clicked():
    messagebox.showinfo('sample 1', 'this is a message')
    messagebox.showinfo('sample 2', 'this is a message to change the size of box')
    messagebox.showinfo('sample 3', ' this is the message that is larger than previous message.')

Button(ws, text='Click here', padx=10, pady=5, command=clicked).pack(pady=20)

ws.mainloop()

输出:

python tkinter messagebox size

Python tkinter messagebox size

阅读如何使用 Pyinstaller 将 Python 文件转换为 exe 文件

Python tkinter messagebox 问题

  • askquestion 提示用于向用户提问。
  • 可以以“或“的形式收集回复。
  • 该函数返回'或'
  • 这些返回类型可以使用 if-else 语句来控制。
  • 我们将在下面的例子中看到这一点。

代码:

在这段 Python 代码中,我们实现了 askquestion messagebox。我们将 messagebox 的值存储在变量' res '中。然后我们比较了变量和返回类型,即“是”或“否”。

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('Python Guides')
ws.geometry('300x100')

def askMe():
    res = messagebox.askquestion('askquestion', 'Do you like cats?')
    if res == 'yes':
        messagebox.showinfo('Response', 'You like Cats')
    elif res == 'no':
        messagebox.showinfo('Response', 'You must be a dog fan.')
    else:
        messagebox.showwarning('error', 'Something went wrong!')

Button(ws, text='Click here', padx=10, pady=5, command=askMe).pack(pady=20)

ws.mainloop()

输出:

在这个输出中,有一个按钮,单击该按钮将提示问题。用户将回答“是”或“否”。相应地,另一个消息框会提示。

python tkinter messagebox askquestion

Python tkinter messagebox askquestion

阅读: Python Tkinter 主循环

python tkinter messagebox asyesno

  • askyesno 用于提示用户“是”或“否”选项。
  • 可以以“是”或“否”的格式收集回复。
  • askyesno 函数返回布尔值,即'真''假'
  • 控制 yes 或 no use if-else 语句。

代码:

from tkinter import *
from tkinter import messagebox
import time

ws = Tk()
ws.title('Python Guides')
ws.geometry('400x200')
ws.config(bg='#345')

def quitWin():
    res = messagebox.askyesno('prompt', 'Do you want to kill this window?') 
    if res == True:
        messagebox.showinfo('countdown', 'killing window in 5 seconds')
        time.sleep(5)
        ws.quit()

    elif res == False:
        pass
    else:
        messagebox.showerror('error', 'something went wrong!')

Button(ws, text='Kill the Window', padx=10, pady=5, command=quitWin).pack(pady=50)

ws.mainloop()

输出:

在这个输出中,用户将看到一个带有“取消窗口”按钮的窗口。一旦用户点击这个按钮。

Python tkinter messagebox askyesno

Python tkinter messagebox askyesno

阅读在 Python Tkinter 中创建 Word 文档

Python tkinter messagebox 位置

  • 在本节中,我们将讨论 messagebox 的位置
  • 这可以通过使用顶层小部件来实现。
  • 任何其他小部件都可以放在顶层小部件上。
  • 它类似于 python 框架,但专门用于创建定制的提示。
  • 在下面的例子中,我们放置了图像、标签和 2 个按钮。
  • 它看起来像一个提示,但我们可以按照我们的要求定位的东西。
  • 对于图像,我们有下面列出的几个选项。
      • tk::icons::错误
      • tk::图标::信息
      • tk::icons::警告
      • tk::icons::问题

代码:

下面是用 Python 创建 messagebox 的代码,其中包含定制位置的小部件。我们在这里放置了问题的图标或图像。但是你可以用“错误”、“警告”、“问题”或“信息”来代替它

from tkinter import *

def killWin():
	toplevel = Toplevel(ws)

	toplevel.title("Kill window")
	toplevel.geometry("230x100")

	l1=Label(toplevel, image="::tk::icons::question")
	l1.grid(row=0, column=0)
	l2=Label(toplevel,text="Are you sure you want to Quit")
	l2.grid(row=0, column=1, columnspan=3)

	b1=Button(toplevel,text="Yes",command=ws.destroy, width=10)
	b1.grid(row=1, column=1)
	b2=Button(toplevel,text="No",command=toplevel.destroy, width=10)
	b2.grid(row=1, column=2)

ws = Tk()
ws.geometry("300x200")
ws.title('Python Guides')
ws.config(bg='#345')
Button(ws,text="Kill the window",command=killWin).pack(pady=80)

ws.mainloop() 

输出:

在这个输出中,主窗口有一个按钮,单击该按钮将提示用户是否要退出这个页面。如果用户说“是”,该页面将会消失。因为这是一个问题,所以您可以注意到在提示的左侧有一个问号的小图标。

python tkinter messagebox position

Python tkinter messagebox position

阅读 Python 数字猜谜游戏

Python tkinter messagebox 文档

信息消息框

使用 showinfo 功能显示信息

警告消息框

为了显示警告或错误信息,使用显示警告显示错误

问题消息框

提问有多种选择:

  • 问问题
  • 腺癌
  • askretrycancel
  • ask yesno
  • 要求取消

Python tkinter yes no 对话框

让我们看看,如何在 Python Tkinter 或 Python tkinter yes no 消息框中生成 Yes 或 No 弹出窗口。Python Tkinter 提供了一个 messagebox 模块,允许生成 Yes 和 No 提示。

  • “是”或“否”弹出窗口用于在执行任务前要求确认。它主要用于确保用户没有意外触发任务。
  • 当用户将要退出程序或将要启动任何敏感任务时,可以看到 Yes 或 No 提示。例如,在转账时,你看到一个提示“你想继续吗”。
  • messagbox 模块中有两个函数用于生成是或否提示:
    • messagebox.askquestion()
    • messagebox . askyesno()
  • messagebox.askquestion()函数用于向用户提问,用户必须回答是或否。当用户单击“是”按钮时,该函数返回 True,当用户单击“否”按钮时,该函数返回 Flase。
  • messagebox.askyesno()函数也做同样的事情,它要求用户回答是或否。
  • 我们有一个完整的关于 Python Tkinter messagebox 的部分,并附有一个例子。在这里,我们已经介绍了消息框的所有可用选项。

语法:

  • 下面是 Python Tkinter 中 messagebox 的语法。在第一行中,我们从 Tkinter 库中导入了 messagebox 模块。
  • 在第二行中,选项是将生成提示的函数。有七个选项可以生成提示,但是在本教程中,我们将只讨论其中的两个:
    • messagebox.askquestion()
    • 信差盒. asyesno()
from tkinter import messagebox

messagebox.option('title', 'message_to_be_displayed')

Python Tkinter 中的是/否弹出窗口示例

  • 这个应用程序向用户显示了两个选项。一个是捐赠,另一个是退出应用程序。
  • 如果用户点击转账按钮, askquestion() 函数被触发&请求用户确认。
  • 如果用户点击退出按钮, askyesno() 功能被触发,询问用户是否确定退出应用程序。
from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#4a7a8c')

def askQuestion():
    reply = messagebox.askyesno('confirmation', 'Are you sure you want to donate $10000 ?')
    if reply == True:
        messagebox.showinfo('successful','You are the Best!')
    else:
        messagebox.showinfo('', 'Maybe next time!')

def askYesNo():
    reply = messagebox.askyesno('confirmation', 'Do you want to quit this application?')
    if reply == True:
        messagebox.showinfo('exiting..', 'exiting application')
        ws.destroy()
    else:
        messagebox.showinfo('', 'Thanks for Staying')

btn1 = Button(
    ws,
    text='Transfer',
    command=askQuestion,
    padx=15,
    pady=5
)
btn1.pack(expand=True, side=LEFT)

btn2 = Button(
    ws,
    text='Exit',
    command=askYesNo,
    padx=20,
    pady=5
)
btn2.pack(expand=True, side=RIGHT)

ws.mainloop()

上述代码的输出

下面是上面代码的输出,在这段代码中,用户想要退出应用程序。点击退出按钮后,他看到“是/否”弹出窗口。

Python tkinter yes no dialog box

Yes No Popups in Python Tkinter

这就是如何在 Python Tkinter 或 Python Tkinter yes no 对话框中生成 Yes No 弹出框。

读取 Python Tkinter 过滤函数()

Python Tkinter 对话窗口

在这一节中,我们将学习如何在 Python Tkinter 中创建一个对话窗口。

对话窗口是用来在用户和软件程序之间进行交流的,或者我们也可以说它只是用来显示信息并要求用户确认。

代码:

在下面的代码中,我们导入了库 Simpledialog ,该库用于创建一个对话框窗口以从用户处获取值。

  • simple dialog . ask integer()用于从用户处获取一个整数。
  • simpledialog.askstring() 用于从用户处获取字符串值。
  • simpledialog.askfloat() 用于从用户处获取浮点值。
from tkinter import *
from tkinter import simpledialog

ws = Tk()
ws.title("Python Guides")

answer1 = simpledialog.askstring("Input", "What is your first name?",
                                parent=ws)
if answer1 is not None:
    print("Your first name is ", answer1)
else:
    print("You don't have a first name?")

answer1 = simpledialog.askinteger("Input", "What is your age?",
                                 parent=ws,
                                 minvalue=0, maxvalue=100)
if answer1 is not None:
    print("Your age is ", answer1)
else:
    print("You don't have an age?")

answer1 = simpledialog.askfloat("Input", "What is your salary?",
                               parent=ws,
                               minvalue=0.0, maxvalue=100000.0)
if answer1 is not None:
    print("Your salary is ", answer1)
else:
    print("You don't have a salary?")
ws.mainloop()

输出:

运行上面的代码后,我们得到下面的输出,其中我们看到一个对话框窗口,用户在其中输入他们的名字。输入姓名后,点击确定。

Python Tkinter dialog box window

Python Tkinter dialog box window Output

点击确定后,下一个对话框将打开,用户可以在其中输入他们的名字。输入他们的年龄后,点击确定。

Python tkinter dialog box window1

Python Tkinter dialog box window1 Output

点击确定后,下一个对话窗口将打开,用户可以输入他们的工资,最后点击确定。

Python Tkinter dialog box window2

Python Tkinter dialog box window2 Output

点击“确定”后,所有数据将显示在命令提示符下。

Python Tkinter dialog box window3

Python Tkinter dialog box window3 Output

阅读 Python Tkinter add 函数示例

Python Tkinter 对话框是否

在这一节中,我们将学习如何在 Python Tkinter 中创建一个是或否对话框。

这是一个警告对话框,用户可以在其中选择是继续还是退出。如果用户想退出,点击如果不想退出,点击

输出:

在下面的代码中,我们导入了 tkinter.messagebox 库,用于给出是和否的警告消息。我们还创建了一个窗口,并将标题“Python Guides”赋予将显示是或否弹出消息的窗口。

askyesno() 函数显示一个对话框,要求用户确认。

from tkinter import *
from tkinter.messagebox import askyesno

# create the root window
ws = Tk()
ws.title('Python Guides')
ws.geometry('200x200')

# click event handler
def confirm():
    answer = askyesno(title='confirmation',
                    message='Are you sure that you want to quit?')
    if answer:
        ws.destroy()

Button(
    ws,
    text='Ask Yes/No',
    command=confirm).pack(expand=True)

# start the app
ws.mainloop() 

输出:

在下面的输出中,我们看到了一个窗口,其中将显示一条是或否的弹出消息。

Python tkinter dialog yes or no

Python Tkinter dialog yes or no Output

点击询问是/否后,确认消息将显示“您确定 要退出吗?”使用是和否按钮。点击“是”,所有程序将退出,否则它们将停留在第一个窗口。

Python tkinter Dialog yes no confirmation

Python Tkinter Dialog Confirmation Yes or No

阅读 Python Tkinter 面板

Python Tkinter 使用对话窗口打开路径

在本节中,我们将学习如何使用 Python Tkinter 中的对话框创建一个开放路径。

“打开”对话框允许用户指定要打开的驱动器、目录和文件名。

代码:

在下面的代码中,我们将库文件 dialog 作为 fd 导入,并创建窗口 ws= Tk() ,标题为****“Python 向导”

*** fd.askopenfilename() 函数返回我们选择的文件名,也支持对话框显示的其他函数。

  • 错误信息 =当文件不被支持时显示错误信息。
  • 按钮()可以显示文字或图片。
from tkinter import *
from tkinter import filedialog as fd 
ws = Tk()
ws.title("Python Guides")
ws.geometry("100x100")
def callback():
    name= fd.askopenfilename() 
    print(name)

error_msg = 'Error!'
Button(text='File Open', 
       command=callback).pack(fill=X)
ws.mainloop() 

输出:

在下面的输出中,我们看到了一个窗口,在这个窗口中我们添加了一个名为“File Open”的按钮。

Python tkinter open path using dialog window

Python Tkinter open path using dialog window Output

单击按钮后,会打开一个对话框。选择文件名后,选择点击打开按钮。

Python Tkinter open path using dialog window 1

Python Tkinter open path using dialog window 1 Output

单击“打开”按钮后,文件路径和位置会显示在命令提示符上,如下图所示。

Python Tkinter open path using dialog window2

Python Tkinter open path using dialog window2 Output

在方法之后读取 Python Tkinter

Python Tkinter 对话框返回值

在本节中,我们将学习如何在 python Tkinter 中创建一个对话框返回值。

返回值是用户在对话框中输入数字时得到的。并且用户输入的数字作为返回值显示在主窗口上。

代码:

在下面的代码中,我们创建了一个窗口 ws = TK() 在这个窗口中,我们添加了一个带有文本“获取输入”的按钮。我们还创建了标签和条目来接收用户的输入。

  • Label() 函数用作显示框,用户可以在其中放置文本。
  • 按钮()用于提交文本。
  • customdialog() 用于获取主窗口上的弹出消息。
from tkinter import *

class customdialog(Toplevel):
    def __init__(self, parent, prompt):
        Toplevel.__init__(self, parent)

        self.var = StringVar()

        self.label = Label(self, text=prompt)
        self.entry = Entry(self, textvariable=self.var)
        self.ok_button = Button(self, text="OK", command=self.on_Ok)

        self.label.pack(side="top", fill="x")
        self.entry.pack(side="top", fill="x")
        self.ok_button.pack(side="right")

        self.entry.bind("<Return>", self.on_Ok)

    def on_Ok(self, event=None):
        self.destroy()

    def show(self):
        self.wm_deiconify()
        self.entry.focus_force()
        self.wait_window()
        return self.var.get()

class example(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.button = Button(self, text="Get Input", command=self.on_Button)
        self.label = Label(self, text="", width=20)
        self.button.pack(padx=8, pady=8)
        self.label.pack(side="bottom", fill="both", expand=True)

    def on_Button(self):
        string = customdialog(self, "Enter something:").show()
        self.label.configure(text="You entered:\n" + string)

if __name__ == "__main__":
    ws = Tk()
    ws.title("Python Guides")
    ws.geometry("200x200")
    example(ws).pack(fill="both", expand=True)
    ws.mainloop()

输出:

运行上面的代码后,我们得到了下面的输出。在这个窗口中,我们创建了一个窗口,并添加了一个标题为“Get Input”的按钮。

Python tkinter dialog return value

Python Tkinter dialog return value Output

点击“获取输入”按钮后,我们得到一个对话框。在对话框中,用户可以输入任何内容。输入后点击确定按钮。

Python Tkinter dialog return value1

Python Tkinter dialog return value1 Output

点击 ok 按钮后,我们在主窗口上得到返回值。

Python Tkinter dialog return value2

Python Tkinter dialog return value2 Output

读取 Python Tkinter 保存文本到文件

Python Tkinter 对话框模式

在这一节中,我们将学习如何在 Python Tkinter 中创建一个对话框模型。

模式窗口创建了一种破坏主窗口但使其在模式窗口中可见的方式。我们可以使用模态窗口作为主窗口。这是为计算机应用而设计的。

代码:

在下面的代码中,我们导入。ttk 导入样式库,用于为窗口提供样式。这里我们创建一个窗口,在窗口内添加一些标签和按钮。

  • Label() 函数用作显示框,用户可以在其中放置文本。
  • Button() 函数的作用是当用户按下一个按钮时,由鼠标点击某个动作开始。
  • Pop.destroy() 用于在使用后销毁窗口。
from tkinter import *
from tkinter.ttk import Style

ws = Tk()
ws.title("Python Guides")

ws.geometry("200x250")
style = Style()
style.theme_use('clam')

def choice1(option):
   pop1.destroy()
   if option == "yes":
      label1.config(text="Hello, How are You?")
   else:
      label1.config(text="You have selected No")
      ws.destroy()
def click_fun1():
   global pop1
   pop1 = Toplevel(ws)
   pop1.title("Confirmation")
   pop1.geometry("300x150")
   pop1.config(bg="white")

   label1 = Label(pop1, text="Would You like to Proceed?",
   font=('Aerial', 12))
   label1.pack(pady=20)

   frame1 = Frame(pop1, bg="gray71")
   frame1.pack(pady=10)

   button_1 = Button(frame1, text="Yes", command=lambda: choice1("yes"), bg="blue", fg="black")
   button_1.grid(row=0, column=1)
   button_2 = Button(frame1, text="No", command=lambda: choice1("no"), bg="blue", fg="black")
   button_2.grid(row=0, column=2)

label1 = Label(ws, text="", font=('Aerial', 14))
label1.pack(pady=40)

Button(ws, text="Click Here", command=click_fun1).pack()

ws.mainloop()

输出:

在下面的输出中,我们看到一个窗口,在这个窗口中放置了一个按钮。通过点击“点击这里”按钮,一些行动开始,并移动到下一个命令。

Python Tkinter dialog modal

Python Tkinter dialog modal Output

点击“点击此处”按钮后,确认窗口打开,显示文本“是否要继续”如果是,点击是,如果否,点击。

Python Tkinter dialog modal1

Python Tkinter dialog modal1 Output

点击“是”按钮后,我们看到一些文本显示在主窗口中。

Python Tkinter dialog modal2

Python Tkinter dialog modal2 Output

Python Tkinter 对话框焦点

在这一节中,我们将学习如何在 Python Tkinter 中创建一个对话框焦点。

在前进之前,我们应该有一个关于焦点的知识。专注就是把注意力放在一件特别的事情上,或者我们可以说是所有活动的中心点。

对话框焦点是当用户在对话框中输入一些内容,并希望向前移动时,他们单击按钮,这样就完全聚焦在按钮上了。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们创建了一个入口小部件和按钮。哪个完成的按钮部件有焦点。

  • Entry() 用于给出来自用户的输入。
  • Button() 函数的作用是当用户按下一个按钮时,由鼠标点击某个动作开始。
 from tkinter import *
from tkinter.ttk import *

ws = Tk()
ws.title("Python Guides")

entry1 = Entry(ws)
entry1.pack(expand = 1, fill = BOTH)

entry2 = Button(ws, text ="Button")

entry2.focus_set()
entry2.pack(pady = 5)

entry3 = Radiobutton(ws, text ="Hello")
entry3.pack(pady = 5)

ws.mainloop()

输出:

这是一个对话框小部件,用户在其中输入内容,然后点击按钮继续操作。在这种情况下,按钮小部件完全具有焦点。

Python tkinter dialog focus3

因此,在本教程中,我们讨论了 Python Tkinter 对话框窗口,我们也涵盖了不同的例子。

Python Tkinter 弹出式消息

在这一节中,我们将学习如何在 Python Tkinter 中创建一个弹出消息。

在继续之前,我们应该了解一些关于 Popup 的知识。弹出式菜单被定义为突然出现并引起观众注意的通知。用户窗口出现弹出消息。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中,我们还创建了一个带有文本“Click Me”的按钮。点击它们后,将会打开一个弹出窗口。

导入 tkinter.messagebox 导入该库,用于在弹出屏幕上显示消息。

tkinter . messagebox . showinfo()用于显示重要信息。

from tkinter import *

import tkinter.messagebox

ws = Tk()

ws.title("Python Guides")
ws.geometry("500x300")

def on_Click():
	tkinter.messagebox.showinfo("Python Guides", "Welcome")

but = Button(ws, text="Click Me", command=on_Click)

but.pack(pady=80)
ws.mainloop() 

输出:

在下面的输出中,我们看到一个窗口,在这个窗口中放置了一个按钮。

Python Tkinter Popup message

Python Tkinter Popup message Output

点击此按钮,会出现一个弹出窗口,显示一些信息。

Create popup message in Python Tkinter

Create popup message in Python Tkinter

Python Tkinter 弹出输入框

在接下来的章节中,我们将学习如何在 Python Tkinter 中创建一个弹出输入框。

Inputbox 是用户可以输入一些值的地方,文本输入后有一个按钮向前移动以完成任务。弹出输入框是类似的,当弹出输入框窗口出现时,用户可以插入文本。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们添加了一个标签和按钮。我们还定义了一个弹出输入窗口Popup_win 在这个窗口中我们创建了一个条目,我们可以在其中插入一些文本。

 from tkinter import*

ws= Tk()
ws.title("Python Guides")

ws.geometry("500x300")

def closewin(tp):
   tp.destroy()
def insert_val(e):
   e.insert(0, "Hello Guides!")

def popup_win():

   tp= Toplevel(ws)
   tp.geometry("500x200")

   entry1= Entry(tp, width= 20)
   entry1.pack()

   Button(tp,text= "Place text", command= lambda:insert_val(entry1)).pack(pady= 5,side=TOP)

   button1= Button(tp, text="ok", command=lambda:closewin(tp))
   button1.pack(pady=5, side= TOP)

label1= Label(ws, text="Press the Button to Open the popup dialogue", font= ('Helvetica 15 bold'))
label1.pack(pady=20)

button1= Button(ws, text= "Press!", command= popup_win, font= ('Helvetica 16 bold'))
button1.pack(pady=20)
ws.mainloop()

输出:

在下面的输出中,我们看到窗口上有一个标签和按钮,标签用于描述任务,按钮用于继续任务。

Python Tkinter Popup input box

Python Tkinter Popup input box Output

点击按钮,屏幕上显示一个弹出输入框,我们可以点击放置文本按钮在输入框中插入一些文本。插入后,点击确定按钮。

Popup input box using Python Tkinter

Popup input box using Python Tkinter

Python Tkinter 弹出对话框

在下一节中,我们将学习如何在 Python Tkinter 中创建一个弹出对话框。

弹出对话框类似于弹出消息,显示在现有窗口的顶部。

代码:

在下面的代码中,我们看到一个窗口,窗口内放置了按钮,单击这些按钮中的任何一个,屏幕上会出现一个弹出对话框。

from tkinter import *

import tkinter.messagebox

ws = Tk()

ws.title("Python Guides")
ws.geometry('500x300')

def Eastside():
	tkinter.messagebox.showinfo("Python Guides", "Right button Clicked")

def Westside():
	tkinter.messagebox.showinfo("Python Guides", "Left button Clicked")

def Northside():
	tkinter.messagebox.showinfo("Python Guides", "Top button Clicked")

def Southside():
	tkinter.messagebox.showinfo("Python Guides", "Bottom button Clicked")

button1 = Button(ws, text="Left", command=Westside, pady=10)
button2 = Button(ws, text="Right", command=Eastside, pady=10)
button3 = Button(ws, text="Top", command=Northside, pady=10)
button4 = Button(ws, text="Bottom", command=Southside, pady=10)

button1.pack(side=LEFT)
button2.pack(side=RIGHT)
button3.pack(side=TOP)
button4.pack(side=BOTTOM)

ws.mainloop()

输出:

运行上面的代码后,我们得到下面的输出,其中我们看到四个按钮分别位于窗口的“顶部”、“底部”、“左侧”和“右侧”。

Python Tkinter Popup dialog

Python Tkinter Popup dialog Output

点击顶部按钮,弹出一个对话框,显示消息“顶部按钮

Create a popup dialog in python Tkinter

Create a popup dialog in Python Tkinter

Python Tkinter 弹出菜单

在本节中,我们将学习如何在 Python Tkinter 中创建一个弹出菜单。

右键单击主窗口,弹出菜单出现在主窗口上。屏幕上弹出一个菜单栏,其中包含有限的选项。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们添加了一个带有文本“右击显示菜单”的标签。因为标签描述了菜单栏在屏幕上弹出时要做的事情。

  • Menu() 用于在屏幕上显示菜单栏。
  • pop_up.add_command() 用于在菜单栏中添加一些命令。
from tkinter import *

ws = Tk()
ws.title("Python Guides")

ws.geometry("500x300")

label1 = Label(ws, text="Right-click To Display a Menu", font= ('Helvetica 16'))
label1.pack(pady= 40)

pop_up = Menu(ws, tearoff=0)

pop_up.add_command(label="New")
pop_up.add_command(label="Edit")
pop_up.add_separator()
pop_up.add_command(label="Save")

def menupopup(event):

   try:
      pop_up.tk_popup(event.x_root, event.y_root, 0)
   finally:

      pop_up.grab_release()

ws.bind("<Button-3>", menupopup)

button1 = Button(ws, text="Exit", command=ws.destroy,width=6,height=4)
button1.pack()

ws.mainloop() 

输出:

在下面的输出中,我们看到窗口中有一个标签和按钮。

Python Tkinter popup menu

Python Tkinter popup menu

当我们右击窗口上的任何地方时,菜单栏就会在窗口上弹出。

Popup menu using Python Tkinter

Popup menu using Python Tkinter

Python Tkinter 关闭弹出窗口

在本节中,我们将学习如何在 Python Tkinter 中创建关闭弹出窗口。

在关闭弹出窗口中,我们想要关闭当前在屏幕上弹出的窗口。

代码:

在下面的代码中,我们导入了 tkinter.messagebox 库,用于在弹出窗口中显示消息,并希望通过显示警告消息来关闭该窗口。

  • tkinter . messagebox . ask yesno()用于获取用户的响应,如果他们想退出,请单击“是”,如果不想退出,请单击“否”
  • tkinter . messagebox . show warning()用于显示验证用户响应的警告。
  • tkinter . messagebox . showinfo()用于显示弹出窗口关闭的信息。
from tkinter import *
import tkinter.messagebox 

ws=Tk()
ws.title("Python Guides")
ws.geometry("300x200")

def callfun():
    if tkinter.messagebox.askyesno('Python Guides', 'Really quit'):
        tkinter.messagebox.showwarning('Python Guides','Close this window')
    else:
        tkinter.messagebox.showinfo('Python Guides', 'Quit has been cancelled')

Button(text='Close', command=callfun).pack(fill=X)

ws.mainloop()

输出:

在下面的输出中,我们看到一个窗口,一个按钮被放置在一个窗口中,点击它们,我们得到询问是否的消息。

Python Tkinter close popup window

Python Tkinter close popup window Output

如此图所示,如果我们想关闭弹出窗口,我们选择选项“是”或“否”,然后单击“是”。

Python Tkinter close popup window

Close popup window Tkinter

点击“是”后,我们看到这个弹出窗口出现在屏幕上。点击 ok 按钮,关闭弹出窗口。

How to close Python Tkinter popup window

Python Tkinter close popup window

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了 Python tkinter messagebox 。我们也讨论了这些主题。

  • Python tkinter messagebox
  • python tkinter messagebox 选项
  • python tkinter messagebox 大小
  • python tkinter messagebox 问题
  • python tkinter messagebox ask yesno
  • python tkinter messagebox 位置
  • python tkinter messagebox 文档
  • Python tkinter 是否消息框
  • Python tkinter 是否对话框
  • Python Tkinter 对话窗口
  • Python Tkinter 对话框是否
  • 使用对话框打开路径
  • Python Tkinter 对话框返回值
  • Python Tkinter 对话框模式
  • Python Tkinter 对话框焦点
  • Python Tkinter 弹出消息
  • python Tkinter 弹出输入框
  • python Tkinter 弹出对话框
  • python Tkinter 弹出菜单
  • python Tkinter 关闭弹出窗口

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/**

Python 跨多窗口教程

原文:https://pythonguides.com/python-tkinter-multiple-windows-tutorial/

Python & Machine Learning training courses

在这个 Python Tkinter 教程中,我们将学习如何在 Python Tkinter创建多个窗口,我们还将涵盖与多个窗口相关的不同示例。我们将讨论这些话题。

  • Python Tkinter 多窗口
  • 使用多窗口的 Python Tkinter 用户注册
  • Python Tkinter 多页面访问验证

目录

Python Tkinter 多窗口

首先,我们将学习如何使用 Python Tkinter 创建多个窗口。

我们正在学习多窗口是如何工作的。所谓多窗口,我们指的是将一个页面与其他相互链接的页面连接起来,并在一个新的标签页中打开,甚至将我们重定向到一个新的页面。

代码:

import tkinter as tk

def New_Window():
    Window = tk.Toplevel()
    canvas = tk.Canvas(Window, height=HEIGHT, width=WIDTH)
    canvas.pack()

HEIGHT = 300
WIDTH = 500

ws = tk.Tk()
ws.title("Python Guides")
canvas = tk.Canvas(ws, height=HEIGHT, width=WIDTH)
canvas.pack()

button = tk.Button(ws, text="Click ME", bg='White', fg='Black',
                              command=lambda: New_Window())

button.pack()
ws.mainloop()

下面是给定代码的一些主要亮点。

  • ws 用于根窗口
  • 高度 =画布小工具的高度。
  • 宽度 =宽度用于画布小部件。
  • bg 用于背景色。
  • fg 用于前景色。
  • tk。按钮()用于添加按钮。

输出:

在上面的代码中,我们在屏幕底部制作了一个简单的按钮。点击那个按钮,一个新窗口就打开了。

Python Tkinter Multiple Window

Python Tkinter Multiple Window Output

我们可以在上面的输出中看到一个按钮,点击“ Click Me 按钮会打开一个新窗口。结果如下所示。

Python Tkinter Multiple window example

Final Output

阅读: Python Tkinter 编辑器

使用多窗口的 Python Tkinter 用户注册

在下一节中,我们将学习使用多窗口的 Python Tkinter 用户注册。

我们必须制作一个登记表,在其中我们制作了载有与姓名、电子邮件和密码相关的信息的区块列。它还使用 OTP 验证电子邮件,以检查真正的用户是否有健康的数据库。

代码:

我们在这段代码中使用的一些库是 smtplibsqlite3messageboxrandomEmailMessage 、under Tkinteremail.message 库。这里还使用了一些标签、字段、条目和按钮。

  • sqllite3.connect() 用于数据库连接
  • Label() 用于显示文本,在此用户只查看不交互。
  • Entry() 是一个单行文本框,用于接受来自用户的值。
from tkinter import *
import re
from tkinter import messagebox
import sqlite3
import random
from email.message import EmailMessage
import smtplib

**# Database** 
try:
    con = sqlite3.connect('website.db')

    con.execute('''create table if not exists users(
                fname text not null,
                lname text not null,
                email text not null,
                password text not null);      
    ''')
    con.close()

except Exception as ep:
    messagebox.showerror('', ep)

ws = Tk()
ws.title('Python Guides')
ws.geometry('500x400')
ws.config(bg="#447c84")
ws.attributes('-fullscreen',True)

**# functions**

def otp_gen():
    pass

cpy = ''

def sendOtp():
    otp_no = ''
    for _ in range(4):
        r = random.randint(0, 9)
        otp_no += str(r)  

    global cpy 
    cpy += otp_no
    sender = "codetestingemail6@gmail.com"
    reciever = em.get()
    password = "Cute...pie@0823"
    msg_body = f'otp is {cpy}'
    msg = EmailMessage()
    msg['subject'] = 'OTP'   
    msg['from'] = sender
    msg['to'] = reciever
    msg.set_content(msg_body)
    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
        smtp.login(sender,password)

        smtp.send_message(msg)

    print(cpy)
    return cpy

def clr():
    fname.delete(0, END)
    lname.delete(0, END)
    em.delete(0, END)
    pwd.delete(0, END)

def submit():
    enteredOtp = otp.get()
    expectedOtp = cpy
    print(expectedOtp)

    fname_check = fname.get()
    lname_check = lname.get()
    em_check = em.get()
    pwd_check = pwd.get()
    otp_check = otp.get()
    check_count = 0

    if fname_check == "":
        warn = "First name can't be empty!"
    else:
        check_count += 1
    if lname_check == "":
        warn = "Last name can't be empty!"
    else:
        check_count += 1
    if em_check == "":
        warn = "Email can't be empty!"
    else:
        check_count += 1
    if pwd_check == "":
        warn = "Password can't be empty!"
    else:
        check_count += 1
    if otp_check == "":
        warn = "Otp can't be empty!"
    else:
        check_count += 1

    # if fname_check, lname_check, pwd_check, otp_check:
    if check_count == 5:
        if (expectedOtp == enteredOtp):
            con = sqlite3.connect('website.db')
            c = con.cursor()
            c.execute("insert into users VALUES (:fname, :lname, :em, :pwd)",{

                'fname': fname.get(),
                'lname': lname.get(),
                'em': em.get(),
                'pwd': pwd.get()
            })
            con.commit()

            ws.destroy()
            import app

        else:
            messagebox.showerror('','Incorrect Otp')
    else:
        messagebox.showerror('', warn)

**# frames**
frame = Frame(ws, padx=20, pady=20)
frame.pack(expand=True)

**# labels**
Label(
    frame, 
    text="Create New Account",
    font=("Times", "24", "bold")
    ).grid(row=0, columnspan=3, pady=10)

Label(
    frame, 
    text='First Name', 
    font=("Times", "14")
    ).grid(row=1, column=0, pady=5)

Label(
    frame, 
    text='Last Name', 
    font=("Times", "14")
    ).grid(row=2, column=0, pady=5)

Label(
    frame, 
    text='Email Address', 
    font=("Times", "14")
    ).grid(row=3, column=0, pady=5)

Label(
    frame, 
    text='Password', 
    font=("Times", "14")
    ).grid(row=4, column=0, pady=5)

Label(
    frame, 
    text='Enter OTP', 
    font=("Times", "14")
    ).grid(row=5, column=0, pady=5)

**# Entry**
fname = Entry(frame, width=30)
lname = Entry(frame, width=30)
em = Entry(frame, width=30)
pwd = Entry(frame, width=30)
otp = Entry(frame, width=30)

fname.grid(row=1, column=1)
lname.grid(row=2, column=1)
em.grid(row=3, column=1)
pwd.grid(row=4, column=1)
otp.grid(row=5, column=1)

**# button** 
clr = Button(frame, text="Clear", padx=20, pady=10, relief=SOLID, font=("Times", "14", "bold"), command=clr)
reg = Button(frame, text="Register", padx=20, pady=10, relief=SOLID, font=("Times", "14", "bold"), command=submit)
ext = Button(frame, text="Exit", padx=20, pady=10, relief=SOLID, font=("Times", "14", "bold"), command=lambda:ws.destroy())
otpp = Button(frame, text="verify email", padx=10, relief=RAISED, font=("Times", "10", "bold"), command=sendOtp)
clr.grid(row=6, column=0, pady=20)
reg.grid(row=6, column=1, pady=20)
ext.grid(row=6, column=2, pady=20)
otpp.grid(row=5, column=2)

ws.mainloop()

输出:

在上面的代码中,我们制作了一个带有细节的注册表单,如标签、按钮条目,这些都用在这个代码中,它与一个数据库连接相连接,这个数据库连接添加了一个真正的用户来注册。

Python tkinter register Multiple window

new account Output

在下面的输出中,我们填写了所有详细信息,并验证了电子邮件以继续下一步。

Python Tkinter user registration using multiple windows

Python Tkinter user registration using multiple windows

当我们检查并随机输入动态口令时,我们可以看到出现了一个错误,显示消息“不正确的动态口令”。这意味着在我们提供注册时使用的正确的动态口令和电子邮件地址之前,我们不能继续前进。

multiple windows in Python tkinter

multiple windows in Python tkinter

阅读: Python Tkinter 表教程

Python Tkinter 多页面访问验证

在下一节中,我们将学习多页访问验证。

通过访问验证,我们是指验证在注册期间注册用户的密码和电子邮件。我们也可以使用这个代码中的 create account 按钮来注册用户。

代码:

登录 Page.py

现在,让我们看看我们在这段代码中使用的一些库是 Tkinter 库下的 sqlite3messagebox 。这里还使用了标签、字段、条目和按钮。

  • un 用于用户名
  • pd 用于密码
  • 使用 messagebox.showerror() 当输入不正确的用户名和密码时,会自动显示错误。
from tkinter import *
from tkinter import messagebox
import sqlite3

try:
        con = sqlite3.connect('website.db')
        c = con.cursor()
        c.execute("Select * from users")
        for i in c.fetchall():
            un = i[2]
            pd = i[3]

except Exception as ep:
    messagebox.showerror('', ep)

ws = Tk()
ws.title('Python Guides')
ws.geometry('500x400')
ws.config(bg="#447c84")
ws.attributes('-fullscreen',True)

def createAccount():
    ws.destroy()
    import register

def submit():
    u = uname.get()
    p = pwd.get()
    check_counter=0
    if u == "":
       warn = "Username can't be empty"
    else:
        check_counter += 1
    if p == "":
        warn = "Password can't be empty"
    else:
        check_counter += 1
    if check_counter == 2:
        if (u == un and p == pd):
            ws.destroy()
            import app

        else:
            messagebox.showerror('', 'invalid username or password')
    else:
        messagebox.showerror('', warn)

**# frame**
frame = Frame(ws, padx=20, pady=20)
frame.pack_propagate(False)
frame.pack(expand=True)

**# labels**
Label(
    frame, 
    text="Admin Login", 
    font=("Times", "24", "bold") 
    ).grid(row=0,  columnspan=3, pady=10) #..place(x=170, y=10)

Label(
    frame, 
    text='Enter Username', 
    font=("Times", "14")
    ).grid(row=1, column=1, pady=5) #.place(x=50, y=70)

Label(
    frame, 
    text='Enter Password', 
    font=("Times", "14")
    ).grid(row=2, column=1, pady=5) #.place(x=50, y=110)

**# Entry**
uname = Entry(frame, width=20)
pwd = Entry(frame, width=20, show="*")
# uname.place(x=220, y=70)
# pwd.place(x=220, y=110)
uname.grid(row=1, column=2)
pwd.grid(row=2, column=2)

**# button** 
reg = Button(
    frame, 
    text="Create Account", 
    padx=20, pady=10, 
    relief=RAISED, 
    font=("Times", "14", "bold"), 
    command=createAccount
    )

sub = Button(
    frame, 
    text="Login", 
    padx=20, 
    pady=10, 
    relief=RAISED, 
    font=("Times", "14", "bold"), 
    command=submit
    )

reg.grid(row=3, column=1, pady=10)
sub.grid(row=3, column=2, pady=10)

ws.mainloop()

输出:

运行上面的代码后,我们得到了这样的输出,其中我们可以看到标签【输入用户名】****【输入密码】和两个按钮在不同的功能上工作。

Python tkinter login multiwindow

Login Output

在下面的输出中,我们在密码部分的用户名和密码中输入电子邮件,然后单击“登录按钮。

Python Tkinterlogin1

Login Output

我们可以看到,用户输入了错误的用户名和密码,这表明它不会将我们重定向到另一个窗口或页面。

python tkinter login example 1

Login2.Output

App.py

下面是验证过程完成后运行另一个页面的代码。

代码:

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('Python Guides')
ws.geometry('500x300')
ws.config(bg="#447c84")
ws.attributes('-fullscreen',True)

**# functions**
def msg():
    return messagebox.showinfo('', 'Life is short, \n do what you love')

def logOut():
   resp = messagebox.askquestion('', 'Are you sure?')
   if resp == 'yes':
        ws.destroy()

   else:
        pass

# frames
frame = Frame(
     ws,
     padx=20,
     pady=20
)
frame.pack(expand=True)

**# image** 
img = PhotoImage(file='img.png')

**# labelslo**
Label(
     frame, 
     text="Congratulations!",
     font=("Times", "24", "bold")
     ).grid(row=0, columnspan=3)

Label(
     frame, 
     text='Your Account is Active', 
     fg='green',
     font=("Times", "14")
     ).grid(row=1, columnspan=3)

imglbl = Label(frame, image=img)
imglbl.grid(row=2, column=1)

**# button** 
exp = Button(frame, text="open>>", padx=20, pady=10, relief=SOLID, font=("Times", "14", "bold"), command=msg)
logout = Button(frame, text="Logout", padx=20, pady=10, relief=SOLID, font=("Times", "14", "bold"), command=logOut)
exp.grid(row=2 , column=1)
logout.grid(row=3, column=1)

ws.mainloop()

运行下面的代码并点击登录按钮后,我们必须输入一个有效的用户名和密码。它会将我们重定向到另一个窗口,并显示以下消息。

此外,我们可以看到一个注销按钮,它将帮助我们退出该页面。

python tkinter app multiwindow

Output

你也可以阅读下面的 Tkinter 教程。

在本教程中,我们学习了Python t inter multiple window及其示例,并涵盖了以下主题。

  • Python Tkinter 多窗口
  • 使用多窗口的 Python Tkinter 用户注册
  • Python Tkinter 多页面访问验证

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 笔记本小部件

原文:https://pythonguides.com/python-tkinter-notebook/

Python & Machine Learning training courses

在这个 Python Tkinter 教程中,我们将学习如何在 Python Tkinter 中创建一个笔记本小部件,我们还将涵盖与 Tkinter 笔记本相关的不同示例。我们将讨论这些话题。

  • Python Tkinter 笔记本小部件
  • Python Tkinter 笔记本背景色
  • Python Tkinter 笔记本风格
  • Python Tkinter 笔记本标签大小
  • Python Tkinter 笔记本选择选项卡
  • Python Tkinter 笔记本禁用选项卡

目录

Python Tkinter 笔记本小工具

在这一节中,我们将学习如何在 python Tkinter 中创建一个笔记本小部件。

众所周知,笔记本是一本有空白页的小书,如果我们愿意,我们可以在上面写任何东西。作为笔记本, Tkinter 笔记本 widget 的工作原理也是一样的。

笔记本小部件允许用户在应用程序窗口中创建选项卡。选项卡用于分隔工作空间。

代码:

在下面的代码中,我们创建了一个笔记本小部件,用户在其中创建了标签“标签 1”“标签 2”,我们还为这些标签使用了框架。

  • 从 tkinter.ttk 导入笔记本我们导入笔记本小部件。
  • notebook.add() 用于在笔记本中添加标签页。
from tkinter import *
from tkinter.ttk import Notebook

ws = Tk()
ws.geometry('400x300')
ws.title('Python Guides Notebook')

notebook = Notebook(ws)
notebook.pack(pady=10, expand=True)

frame1 = Frame(notebook, width=400, height=280)
frame2 = Frame(notebook, width=400, height=280)

frame1.pack(fill='both', expand=True)
frame2.pack(fill='both', expand=True)

notebook.add(frame1, text='Tab 1')
notebook.add(frame2, text='Tab 2')

ws.mainloop() 

输出:

在下面的输出中,我们看到一个笔记本小部件创建了两个选项卡“Tab 1”“Tab 2”

Python Tkinter notebook widget

Notebook widget Output

阅读 Python Tkinter 菜单栏

Python Tkinter 笔记本背景色

在这一节中,我们将学习如何在 Python Tkinter 中添加笔记本背景颜色。

我们进口了。ttk Notebook,style library 为了在标签上创建背景色,我们使用几何图形来给出创建标签和应用样式的窗口的大小。

代码:

在下面的代码中,我们创建了笔记本小部件的背景色,这有助于制作一个多彩的图形用户界面。我们使用 add() 在笔记本中创建标签。

  • style . theme _ use(' default ')用于改变小工具的主题。
  • note.add() 用于在窗口内创建标签页。
from tkinter import *
from tkinter.ttk import Notebook, Style

ws = Tk()

ws.geometry("700x350")

# Create an instance of ttk style
style = Style()
style.theme_use('default')
style.configure('TNotebook.Tab', background="Red")
style.map("TNotebook", background= [("selected", "red")])

# Create a Notebook widget
note =Notebook(ws)

# Add a frame for adding a new tab
frame1= Frame(note, width= 400, height=180)

# Adding the Tab Name
note.add(frame1, text= 'Tkinter-1')
frame2 = Frame(note, width= 400, height=180)
note.add(frame2, text= "Tkinter-2")

note.pack(expand= True, fill=BOTH, padx= 5, pady=5)
ws.mainloop() 

输出:

在下面的输出中,我们看到了 Notebook 小部件,其上的选项卡是用彩色背景创建的。

Pyyhon Tkinter Notebook Widget background color

Background color Output

阅读 Python Tkinter 计算器

Python Tkinter 笔记本风格

在本节中,我们将学习如何在 Python Tkinter 中添加笔记本样式。

风格是指完成任务的对象或方法的设计。我们进口。ttk 笔记本,风格库给笔记本一个不同的风格,从我们的笔记本看起来很有吸引力。

代码:

在下面的代码中,我们在小部件中创建一个笔记本小部件,我们使用 add() 来创建选项卡,并赋予这些选项卡样式。

  • style.theme_create() 用于访问风格数据库。
  • style.theme_use () 用于改变当前主题。
  • notebook.add () 用于在小部件内部添加标签页。
from tkinter import *
from tkinter.ttk import Notebook, Style

ws = Tk()

Mysky = "#DCF0F2"
Myyellow = "#F2C84B"

style = Style()

style.theme_create( "dummy", parent="alt", settings={
        "TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0] } },
        "TNotebook.Tab": {
            "configure": {"padding": [5, 1], "background": Mysky },
            "map":       {"background": [("selected", Myyellow)],
                          "expand": [("selected", [1, 1, 1, 0])] } } } )

style.theme_use("dummy")

notebook = Notebook(ws)
frame1 = Frame(notebook, width=300, height=200)
notebook.add(frame1, text = 'First')
frame2 = Frame(notebook, width=300, height=200)
notebook.add(frame2, text = 'Second')
notebook.pack(expand=1, fill='both', padx=7, pady=7)

Button(ws, text='dummy!').pack(fill='x')

ws.mainloop()

输出:

在下面的输出中,我们看到在小部件选项卡中创建了一个笔记本小部件,我们在其上应用了样式主题。当我们点击标签时,标签的样式和颜色会改变。

Python tkinter Notebook Style

Notebook Style Output

阅读 Python Tkinter Checkbutton

Python Tkinter 笔记本标签大小

在这一节中,我们将学习如何在 Python Tkinter 中改变笔记本标签的大小。

大小被定义为一个物体有多大或多小。笔记本标签尺寸是指我们导入的标签尺寸有多大或多小。ttk import Notebook,style library 创建一个笔记本小部件,并赋予笔记本风格。

代码:

在下面的代码中,我们创建了一个笔记本小部件,在小部件中添加了选项卡,我们使用高度和宽度来改变选项卡的大小。

  • width() 用来改变标签页的宽度。
  • Height() 用来改变标签页的高度。
from tkinter import *
from tkinter.ttk import Notebook, Style

ws= Tk()
style = Style()
style.theme_create( "MyStyle", parent="alt", settings={
        "TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0] } },
        "TNotebook.Tab": {"configure": {"padding": [100, 100] },}})

style.theme_use("MyStyle")

notebook = Notebook(ws, width=250, height=250)
tab1 = Frame(notebook)
notebook.add(tab1, text = 'Welcome to tab one')
tab2 = Frame(notebook)
notebook.add(tab2, text = 'Welcome to tab two')
notebook.pack(expand=True, fill=BOTH)

Button(ws, text='Some Text!').pack(fill=X)

ws.mainloop()

输出:

在下面的输出中,我们看到添加了小部件选项卡内的一个笔记本小部件。当我们看到标签的尺寸太大而无法改变标签的尺寸时,我们调整了标签的高度和宽度。

Python Tkinter Tab Size

Notebook Tab Size Output

阅读 Python Tkinter 单选按钮

Python Tkinter 笔记本选择标签

在本节中,我们将学习如何在 Python Tkinter 笔记本中选择选项卡。

我们进口了。ttk 导入笔记本库来创建笔记本小部件。我们使用几何图形来给出创建选项卡的窗口的大小。我们将光标移到选项卡上,通过单击随机选择任意选项卡。

代码:

在下面的代码中,我们通过导入。ttk 导入 note book library 也导入时间来处理与时间相关的任务。

Button() :当我们将某个功能附加到一个按钮上时,它们会通过点击来自动调用。

from tkinter import *
import time
from tkinter.ttk import Notebook

ws=Tk()

ws.config(width=330,height=250)

notebook=Notebook(ws)
notebook.place(x=0,y=0)

Tablist=[]
i=0
while i<6:    
     Tablist.append(Frame(ws))
     Tablist[i].config(width=330,height=200,background='white')
     i+=1

i=0
while i<6: 
    notebook.add(Tablist[i],text='tab'+str(i))
    i+=1

def LoopTabs():
    i=0
    while i<6:
         notebook.select(i)
         time.sleep(2)
         i+=1

button=Button(ws,text='Click here',command=LoopTabs)
button.place(x=20,y=180)
ws.mainloop() 

输出:

在下面的输出中,我们看到在用户单击 tab1 时放置的小部件选项卡内创建了一个笔记本小部件。如果用户点击下一个标签“Tab2”,我们将进一步移动。Tab2 标签被选中。

Python Tkinter notebook Select Tab3

Notebook select tab Output

读取 Python Tkinter 退出程序

Python Tkinter 笔记本禁用标签

在本节中,我们将学习 Python Tkinter 中的笔记本禁用标签。

在学习笔记本禁用标签之前,我们应该有一些关于禁用的知识。残疾意味着不能工作。

在 Python Tkinter 笔记本禁用选项卡中,我们在笔记本中创建了一个笔记本,并添加了两个选项卡。如果第一个标签是禁用的,他们会移动到下一个标签。

代码:

在下面的代码中,我们导入了一些库。ttk 导入笔记本,Style 用于创建笔记本,Style 用于赋予我们的笔记本一些风格。

  • Style.layout 用于禁用第一个标签页。
  • text.insert() 用于在笔记本中插入一些文字。
  • note.add() 用于在笔记本中添加框架。
from tkinter import *
from tkinter.ttk import Notebook, Style

ws = Tk()

style = Style()

style.layout('TNotebook.Tab', []) # turn off tabs

note = Notebook(ws)

frame1 = Frame(note)
text = Text(frame1, width=40, height=10)
text.insert('end', 'page0 : a text widget')
text.pack(expand=1, fill='both')
note.add(frame1)

frame2 = Frame(note)
lablel = Label(frame2, text='page1 : a label')
lablel.pack(expand=1, fill='both')
note.add(frame2)

note.pack(expand=1, fill='both', padx=5, pady=5)

def Do_Something():
    note.select(1)

ws.after(3000, Do_Something)
ws.mainloop() 

输出:

在下面的输出中,我们可以看到第 0 页第 1 页当我们将光标移到第 0 页时,它们被禁用并移到下一页第 1 页。

Notebook disable tab

Notebook disable tab Output

您可能会喜欢以下 Python Tkinter 教程:

在本教程中,我们讨论了Python Tkinter Notebook widget,我们还介绍了不同的例子。这是我们已经讨论过的例子列表。

  • Python Tkinter 笔记本小部件
  • Python Tkinter 笔记本背景色
  • Python Tkinter 笔记本风格
  • Python Tkinter 笔记本标签大小
  • Python Tkinter 笔记本选择选项卡
  • Python Tkinter 笔记本禁用选项卡

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 开关

原文:https://pythonguides.com/python-tkinter-on-off-switch/

Python & Machine Learning training courses

在这个 Python Tkinter 教程中,我们将学习如何创建 Python Tkinter 通断开关,我们还将涵盖与通断开关相关的不同示例。而且,我们将涵盖这些主题

  • Python Tkinter 简单切换开关
  • Python Tkinter 开关滑动开关
  • 使用按钮打开/关闭 Python Tkinter

目录

Python Tkinter 简单拨动开关

在本教程中,我们将学习如何在 Python Tkinter 中创建一个简单的拨动开关。

开关是用来接通电路的。我们在这里使用开关作为一种功能,我们可以在任何游戏应用程序或任何类似的应用程序中使用它来打开或关闭该功能。

代码:

在下面的代码中,我们导入 tkinter 库将 Tkinter 作为 tk 导入,还创建了一个小部件,在其中我们使用了一个简单的切换开关。这里的拨动开关就像我们日常生活中用来打开房间灯的普通开关一样。

按钮()用作普通拨动开关,开启或关闭该功能。

from tkinter import *

def Simpletoggle():

    if toggle_button.config('text')[-1] == 'ON':
        toggle_button.config(text='OFF')
    else:
        toggle_button.config(text='ON')

ws = Tk()
ws.title("Python Guides")
ws.geometry("200x100")

toggle_button = Button(text="OFF", width=10, command=Simpletoggle)
toggle_button.pack(pady=10)

ws.mainloop()

输出:

运行下面的代码后,我们得到下面的输出,其中我们看到当我们单击它们时,切换开关将打开。当我们再次点击它们时,拨动开关就会关闭。

Python Tkinter simple toggle switch

Simple Toddle Switch Output

阅读: Python Tkinter 事件

Python Tkinter 开关滑动开关

在本节中,我们将学习如何在 Python Tkinter 中创建开关滑动开关。

我们正在寻找技术,因为它一天比一天好,体力工作已经被人工智能/人工智能取代。我们制作的开关滑动开关同样可以用于具有物联网嵌入式应用的移动应用。打开灯、灯泡、风扇、照相机、空调等。

代码:

在下面的代码中,我们创建了一个小部件,其中放置了一个开关滑动开关。我们使用标签、按钮,并添加照片图像来展示开关按钮的工作原理。

  • Label() 用于显示文本或图像的字段。
  • 按钮()用作开启或关闭该功能的普通开关。
  • Photoimage() 用于在 widget 中添加图片。
 from tkinter import *

ws = Tk()

ws.title('Python Guides')

ws.geometry("400x300")

#global is_on
is_on = True

label = Label(ws, 
    text = "The Switch Is On!", 
    fg = "green", 
    font = ("Helvetica", 32))

label.pack(pady = 20)

def Switch():
    global is_on

    if is_on:
        button.config(image = off)
        label.config(text = "Switch is Off", 
                        fg = "grey")
        is_on = False
    else:

        button.config(image = on)
        label.config(text = "Switch is On", fg = "green")
        is_on = True

on = PhotoImage(file = "on.png")
off = PhotoImage(file = "off.png")

button = Button(ws, image = on, bd = 0,
                   command = Switch)
button.pack(pady = 50)

ws.mainloop() 

输出:

在下面的输出中,我们看到如果用户滑动右边的开关,开关会自动打开。另一方面,用户滑动左侧开关,开关自动关闭。

Python Tkinter On off switch 1

On-Off slide switch Output

阅读: Python Tkinter 笔记本 Widget

使用按钮开启/关闭 Python Tkinter

在本节中,我们将学习如何在 Python Tkinter 中创建一个开关按钮。

我们在这里使用开关按钮作为我们可以在任何游戏应用程序或任何类似应用程序中打开或关闭该功能的功能。这里的按钮就像一个普通的开关一样工作,我们在日常生活中使用它来打开房子的灯。

代码:

在下面的代码中,我们使用 def convert() 来定义函数,并使用 state 方法来禁用或启用连接。

按钮()用作开启或关闭该功能的普通开关。

from tkinter import *
ws = Tk()
ws.title("Python Guides")

def convert():
    if(a1['state']==NORMAL):
        a1["state"] = DISABLED
        a2["text"]="ON"
    elif (a1['state']==DISABLED):
        a1["state"]=NORMAL
        a2["text"]="OFF"

a1=Button(ws, text="Bulb")
a1.config(height = 8, width = 9)
a1.grid(row=0, column=0)    
a2 = Button(text="OFF", command=convert)
a2.grid(row=0,column=1)
ws.mainloop()

输出:

在上面的代码中,首先,我们创建了一个按钮对象“a1 ”,然后,我们使用 IF 语句来检查按钮的状态。最后,我们使用状态来改变按钮的行为,以获得想要的结果。

运行下面的代码后,我们得到下面的输出,其中我们看到当我们单击它们时,按钮将是 ON 。当我们再次点击它们时,按钮会让离开

Python Tkinter On Off button

On-Off Pushbutton Output

你可能也喜欢阅读下面的 Tkinter 教程。

因此,在本教程中,我们讨论了 Python Tkinter On-Off 开关,并且我们还涵盖了不同的例子。这是我们已经讨论过的例子列表。

  • Python Tkinter 简单切换
  • Python Tkinter 开关滑动开关
  • 使用按钮打开/关闭 Python Tkinter

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 选项菜单[完整教程]

原文:https://pythonguides.com/python-tkinter-optionmenu/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习关于 Python Tkinter OptionMenu 小部件的一切。OptionMenu 小工具也称为下拉菜单或组合框。我们将通过例子学习所有的方法。此外,我们将涵盖这些主题。

  • python tkinter option menu documentation(python tkinter option 菜单文档)
  • Python Tkinter 选项菜单获取值
  • Python Tkinter 选项菜单宽度
  • Python Tkinter 选项菜单样式
  • Python Tkinter 选项菜单命令
  • Python Tkinter 选项集值
  • Python Tkinter 选项菜单更改事件
  • Python Tkinter 选项菜单禁用
  • Python Tkinter 选项菜单追踪
  • Python Tkinter 选项菜单颜色

目录

Python Tkinter 选项菜单

  • Python Tkinter 中的 OptionMenu 用于在应用程序中创建下拉菜单。
  • 它占用更少的空间,并向用户显示多个选项。用户只能从项目列表中选择一个项目。
  • OptionMenu 的唯一缺点是它不能处理大数据。因为下拉菜单受限于屏幕的大小。因此,在大数据的情况下,使用 Listbox 是因为它提供了滚动功能。
  • 下面是 Python Tkinter 中 OptionMenu 的语法
OptionMenu(
    master, 
    variable, 
    value, 
    *values, 
    **kwargs
    )
  • master 是您想要放置 OptionMenu 的窗口。它可以是主窗口、次窗口或框架。
  • 变量表示小工具的值不是固定的,它会不断变化。该变量可以在以下情况下实现:
    • string var()–保存一个字符串;预设值""
    • int var()–保存整数;默认值为 0
    • double var()–保存浮点值;默认值为 0.0
    • boolean var()–保存布尔值,返回 0 表示假,返回 1 表示真
  • 取决于变量的类型,如果变量是 StringVar(),那么该值将是任何名称或字符集。
  • *是我们存储所有选项的列表的名称。
  • 要查看完整的文档,请运行下面的代码。
from tkinter import *

help(OptionMenu) 

这是 OptionMenu 的预览图。这是一个显示多个选项的下拉菜单,用户可以选择他/她的选择。

Python Tkinter OptionMenu

Preview of OptionMenu Widget

使用 Tkinter 阅读 Python 中的注册表

Python Tkinter OptionMenu 获取值

  • 在本节中,我们将学习如何获取用户在 Python Tkinter OptionMenu 中选择的值。
  • OptionMenu 显示多个选项,但用户只能选择一个。因此,为了知道用户选择的选项,我们使用了 get() 方法。
  • get() 应用于分配给 OptionMenu 的变量,并返回 OptionMenu 中当前选中的选项。

Python Tkinter 中 get()方法示例:

在这个例子中, get() 方法用于在 Python Tkinter 中提取存储在 OptionMenu 中的信息。这里我们提到了使用 get() 方法的确切代码,我们还基于 get() 方法创建了一个完整的程序。

 def display_selected(choice):
    choice = variable.get()
    print(choice)

下面是用 python tkinter 实现 get()方法的完整程序代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F2B90C')

def display_selected(choice):
    choice = variable.get()
    print(choice)

countries = ['Bahamas','Canada', 'Cuba','United States']

# setting variable for Integers
variable = StringVar()
variable.set(countries[3])

# creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *countries,
    command=display_selected
)

# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在此输出中,无论在 OptionMenu 中选择了什么选项,都会显示在终端上。

python tkinter OptionMenu get method

Python Tkinter OptionMenu example

这就是如何在 Python Tkinter OptionMenu 中获取值。

阅读:从 PDF Python 中提取文本

Python Tkinter 选项菜单宽度

  • 在本节中,我们将学习如何控制 Python Tkinter OptionMenu 的宽度。
  • Width 是小部件左右两边的空间&根据应用程序的需要调整它是很重要的,因为它给应用程序带来了更好的外观。
  • 使用 OptionMenu 小工具中的宽度选项,我们可以改变宽度。OptionMenu】不直接接受宽度的,所以你必须使用配置方法。

Python Tkinter中的选项菜单宽度示例

这是一个我们如何在 Python Tkinter 中改变 OptionMenu 宽度的例子。在这段代码中,我们创建了一个函数来改变 OptionMenu 的宽度大小。用户可以从选项中选择尺寸,选项菜单将变成该尺寸。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F26849')

def change_width(choice):
    choice = variable.get()
    dropdown.config(width=choice)

# width choices available.
width_size = [10, 15, 20, 25, 30]

# setting variable for Integers
variable = IntVar()

# creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *width_size,
    command=change_width
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在此输出中,显示了两张图片。左图的宽度设置为 10,当该值从 10 变为 15 时,选项菜单的宽度也会在右图中增加。

python tkinter optionmenu width

Python Tkinter OptionMenu width

阅读:使用 Python Tkinter 的身体质量指数计算器

Python Tkinter 选项菜单样式

  • 在这一节中,我们将学习如何在 Python Tkinter 中的 OptionMenu 上应用样式
  • Style 是颜色、字体、宽度和其他组件,用于改善 Python Tkinter 中 OptionMenu 的外观和感觉。

Python Tkinter 中的 OptionMenu 样式示例:

  • 在这个输出中,我们增加了 Python 中 OptionMenu 的宽度并提供了颜色。可以通过在 Python Tkinter 中更改 OptionMenu 中的选项来更改颜色。
  • 下面是用于在 Python Tkinter 中更改 OptionMenu 的高度、宽度和颜色的确切代码。在这段代码中,下拉列表是分配给 OptionMenu 的变量。
dropdown.config(width=10)
dropdown.config(height=2)
dropdown.config(bg='light blue')

下面是为实现 Python Tkinter 中 OptionMenu 中的样式选项而创建的程序的完整代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#BF7C41')

def change_color(choice):
    choice = variable.get()
    dropdown.config(bg=choice)

# color choices available.
color_list = ['aquamarine', 'light blue', 'olive drab', 'gray']

# setting variable for Integers
variable = StringVar()
variable.set(color_list[1])

# creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *color_list,
    command=change_color
)
dropdown.config(width=10)
dropdown.config(height=2)
dropdown.config(bg='light blue')

# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在这个输出中,OptionMenu 的颜色随着选项的变化而变化。此外,应用于它的高度和宽度给整个应用程序带来了良好的外观。

python tkinter OptionMenu style

Python Tkinter OptionMenu style

阅读: Python Tkinter 标题

Python Tkinter OptionMenu 命令

  • 在本节中,我们将学习 Python Tkinter OptionMenu 命令的需求和用法。
  • 一个命令用于将一个回调函数分配给选项菜单。如果在 OptionMenu 中选择了一个特定的选项,它允许您触发一个功能。

Python Tkinter 中的 OptionMenu 命令示例:

在本例中,用户可以从 OptionMenu 中选择应用程序颜色。窗口背景将被更改为选定的颜色。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F26849')

def change_color(choice):
    choice = variable.get()
    ws.config(bg=choice)

# color choices available.
color_list = ['red', 'green', 'yellow', 'blue', 'pink']

# setting variable for Integers
variable = StringVar()

# creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *color_list,
    command=change_color
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

下面是上面代码的输出,你可以看到窗口的颜色可以通过在 Python Tkinter 的 OptionMenu 中选择任意颜色来改变。

Python tkinter OptionMenu command

Python Tkinter OptionMenu command

阅读:使用 Tkinter 中 pyqrcode 的 Python QR 码生成器

Python Tkinter 选项设置值

  • Python Tkinter OptionMenu 提供了一个方法集(),允许在 OptionMenu 中设置默认值。
  • set() 方法可以应用在变量上,它需要列表中您想要显示为默认值的项目。

带设定值选项的 OptionMenu 命令示例。:

在本例中,我们将默认国家设置为“美国”。因此,如果用户不选择任何选项,则 OptionMenu 中的默认值将为美国。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#597678')

# choices available with user.
countries = ['Bahamas','Canada', 'Cuba', 'Dominica', 'Jamaica', 'Mexico', 'United States']

# setting variable for strings
variable = StringVar()

# set default country as United States
variable.set(countries[6])

#  creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *countries
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在此输出中,左边的图片显示了没有指定默认值时的 OptionMenu,而右边的图片显示了自动选择的“美国”。所以是用 Python Tkinter 中的 set()方法完成的。

python tkinter OptionMenu set value

with and without default value set

阅读:如何在 Python Tkinter 中设置背景为图像

Python Tkinter OptionMenu 更改事件

事件是为响应所执行的活动而发生的更改。在 OptionMenu 中,每次选项改变时都被称为一个事件。使用变量,我们可以获得有关发生变化的信息。

Python Tkinter 中 OptionMenu 更改事件示例:

在本例中,终端上将显示更改。下面提到的代码负责报告所有变化的事件。

def check(*args):
    print(f"the variable has changed to '{variable.get()}'")

variable = StringVar(value='United States')
variable.trace('w', check)

下面是用 Python Tkinter 显示已更改事件日志的程序的完整代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#597678')

def check(*args):
    print(f"the variable has changed to '{variable.get()}'")

variable = StringVar(value='United States')
variable.trace('w', check)

# choices available with user.
countries = ['Bahamas','Canada', 'Cuba', 'Dominica', 'Jamaica', 'Mexico', 'United States']

# set default country as United States
variable.set(countries[6])

#  creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *countries
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在这个输出中,每次 OptionMenu 中的选项被更改时,终端屏幕上都会报告一条消息。

python tkinter OptionMenu trace

Python Tkinter OptionMenu change event

阅读: Python Tkinter 在文本框中显示数据

Python Tkinter 选项菜单禁用

  • Python Tkinter OptionMenu 提供了一个方法 state ,使用该方法 OptionMenu 可以灰显。一旦变灰,OptionMenu 的所有功能都被禁用。单击时不会发生任何变化,也不会显示下拉列表。
  • 状态提供了两个选项:
    • disabled–它禁用 Python Tkinter 中的 OptionMenu 小部件。
    • normal–它启用 Python Tkinter 中的 OptionMenu 小部件

Python Tkinter 中的 OptionMenu 禁用示例:

在本例中,我们创建了一个复选框并设置了规则,如果复选框被选中,则 OptionMenu 处于正常状态,如果复选框未被选中或取消选中,则 OptionMenu 将变为禁用状态。

这个函数负责 Python Tkinter 中 OptionMenu 小部件的状态变化。

def changeState():
    if checkVar.get() == 1:
        dropdown.configure(state='normal')
    else:
        dropdown.configure(state='disabled')

这是该程序的完整代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#393C73')

def changeState():
    if checkVar.get() == 1:
        dropdown.configure(state='normal')
    else:
        dropdown.configure(state='disabled')

variable = StringVar()
checkVar = IntVar()

checkVar.set(1)

# checkbutton widget
cb = Checkbutton(
    ws, 
    text = "Enable/Disable OptionMenu", 
    variable = checkVar,
    onvalue = 1, 
    offvalue = 0, 
    height=2,
    width=30,
    command=changeState
    )
cb.pack(expand=True)

# choices available with user.
countries = ['Bahamas','Canada', 'Cuba', 'Dominica', 'Jamaica', 'Mexico', 'United States']

# set default country as United States
variable.set(countries[6])

#  creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *countries
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在输出中,左侧图片中的复选框处于选中状态,用户可以单击并操作 Python Tkinter 中的 OptionMenu 小部件。但是在右图中,复选框被禁用,现在选项菜单是灰色的。再次选择复选框,使 OptionMenu 返回工作状态。

python tkinter OptionMenu change state

Disable OptionMenu

阅读:如何使用 Python Tkinter 创建倒计时器

Python Tkinter option menu trace

Trace 类似于 change event 部分,Trace 简单来说就是跟踪 Python Tkinter 中 OptionMenu 小部件发生的变化。

Python Tkinter 中 OptionMenu 更改事件示例:

在本例中,终端上将显示更改。下面提到的代码负责跟踪和报告 Python Tkinter 中 OptionMenu 小部件发生的所有变化。

def check(*args):
    print(f"the variable has changed to '{variable.get()}'")

variable = StringVar(value='United States')
variable.trace('w', check)

下面是在 Python Tkinter 的 OptionMenu 小部件中实现 trace 的完整代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#597678')

def check(*args):
    print(f"the variable has changed to '{variable.get()}'")

variable = StringVar(value='United States')
variable.trace('w', check)

# choices available with user.
countries = ['Bahamas','Canada', 'Cuba', 'Dominica', 'Jamaica', 'Mexico', 'United States']

# set default country as United States
variable.set(countries[6])

#  creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *countries
)
# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在这个输出中,每次 OptionMenu 中的选项被更改时,终端屏幕上都会报告一条消息。

python tkinter OptionMenu trace

Python Tkinter OptionMenu trace

Python Tkinter 选项菜单颜色

在这一节中,我们将看到如何在 Python Tkinter 中的 OptionMenu 上应用颜色。应用颜色是小部件样式的一部分。

Python Tkinter 中的 OptionMenu 颜色示例:

在本例中,可以通过在 Python Tkinter 中更改 OptionMenu 小部件的选项来更改 OptionMenu 小部件的颜色。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#BF7C41')

def change_color(choice):
    choice = variable.get()
    dropdown.config(bg=choice)

# color choices available.
color_list = ['aquamarine', 'light blue', 'olive drab', 'gray']

# setting variable for Integers
variable = StringVar()
variable.set(color_list[1])

# creating widget
dropdown = OptionMenu(
    ws,
    variable,
    *color_list,
    command=change_color
)
dropdown.config(width=10)
dropdown.config(height=2)
dropdown.config(bg='light blue')

# positioning widget
dropdown.pack(expand=True)

# infinite loop 
ws.mainloop() 

输出:

在这个输出中,OptionMenu 的颜色随着选项的变化而变化。此外,应用于它的高度和宽度给整个应用程序带来了良好的外观。

python tkinter OptionMenu style

Python Tkinter OptionMenu color

您可能喜欢:

在本教程中,我们已经学习了 Python Tkinter 中关于 OptionMenu 小部件的一切。此外,我们已经讨论了这些主题。

  • Python Tkinter 选项菜单
  • Python Tkinter 选项菜单获取值
  • Python Tkinter 选项菜单宽度
  • Python Tkinter 选项菜单样式
  • Python Tkinter 选项菜单命令
  • Python Tkinter 选项菜单样式
  • Python Tkinter 选项集值
  • Python Tkinter 选项菜单更改事件
  • Python Tkinter 选项菜单禁用
  • Python Tkinter 选项菜单追踪
  • Python Tkinter 选项菜单颜色
  • python tkinter option menu documentation(python tkinter option 菜单文档)

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 面板

原文:https://pythonguides.com/python-tkinter-panel/

Python & Machine Learning training courses

在本教程中,我们将学习如何在 Python Tkinter 中创建面板,我们还将介绍与 Tkinter 面板相关的不同示例。我们也将讨论这些话题。

  • Python Tkinter 面板
  • Python Tkinter 添加面板
  • Python Tkinter 按钮面板
  • Python Tkinter 滚动面板

目录

Python Tkinter 面板

在本节中,我们将学习如何在 Python Tkinter 中创建面板。

面板的行为就像一个容器,它包含几个窗格作为子部件,并垂直或水平排列。用户可以调整子部件的大小,每个窗格都包含一个部件。

语法:

p1 = PanedWindow(master,options)

master 作为父 widget 使用。

代码:

在下面的代码中,我们看到用 orient= vertical 创建了一个窗格窗口。在窗格窗口中,我们创建了一些标签。

如果用户将子控件从上到下放置,则 orient 被设置为 vertical 。如果方向被设置为水平,那么子部件被并排放置。

from tkinter import *

ws=Tk()
ws.title("Python Guides")
ws.geometry("500x300")

p1 = PanedWindow()
p1.pack(fill=BOTH, expand=1)

left = Label(p1, text="Left Panel")
p1.add(left)

p2 = PanedWindow(p1, orient=VERTICAL)
p1.add(p2)

top = Label(p2, text="Top Panel")
p2.add(top)

bottom = Label(p2, text="Bottom Panel")
p2.add(bottom)

ws.mainloop()

输出:

运行上面的代码后,我们得到了下面的输出,我们可以看到一个窗格化的窗口被创建了,在这个窗口中有一个子窗口。当我们设置 PanedWindow(p1,orient=VERTICAL) 时,我们希望从上到下放置子窗口。

Python Tkinter Panel

Python Tkinter Panel Output

阅读: Python Tkinter 条目

Python Tkinter 添加面板

在本节中,我们将学习如何在 Python Tkinter 中添加面板。

众所周知,面板窗口是一个容器,我们可以在里面添加任何东西,比如按钮、标签、入口小部件。我们还可以通过 PanedWindow(主窗口,选项)向主窗口添加面板。

代码:

在下面的代码中,我们添加了一个面板,我们甚至添加了一个带有文本“嘿,点击我!\n 我是按钮"。并且还添加了一个带有文本“选择我!”

  • pawin.add(top) 用于在面板中添加一个按钮。
  • pawin.add(button) 用于在面板中添加一个复选按钮。
from tkinter import *

ws = Tk()
ws.title("Python Guides")
ws.geometry("500x300")

pawin = PanedWindow(orient ='vertical')

top = Button(pawin, text ="Heya Click Me !\n I am  a button")
top.pack(side = TOP)

pawin.add(top)

button = Checkbutton(pawin, text ="Choose Me !")
button.pack(side = TOP)

pawin.add(button)

pawin.pack(fill = BOTH, expand = True)

pawin.configure(relief = RAISED)

ws.mainloop() 

输出:

运行上面的代码后,我们得到下面的输出,其中我们将一个窗格窗口分成两个窗格。一个是按钮窗格,另一个是复选框窗格。

Python tkinter add panel

Python Tkinter add panel Output

阅读: Python Tkinter 单选按钮

Python Tkinter 按钮面板

在这一节中,我们将学习如何在 Python Tkinter 中创建一个按钮面板。

我们可以在面板窗口中创建一个按钮面板,帮助我们通过单击来执行任何任务。

代码:

在下面的代码中,我们创建了一个面板窗口,在这个面板窗口中有 orient =vertical ,我们创建了两个面板按钮。一个标签为“命令,另一个标签为“退出”。顾名思义,第二个按钮用于什么目的。

from tkinter import *

def write_a_slogan():
    print("Life is short\Do what you Love.!!")

ws = Tk()
ws.title("Python Guides")
ws.geometry("200x200")
pawin = PanedWindow(orient ='vertical')
frame = tk.Frame(ws)
frame.pack()

but = Button(frame, 
                   text="Exit", 
                   fg="blue",
                   command=quit)
but.pack(side=LEFT)
slog = Button(frame,
                   text="command",
                   fg="red",
                   command=write_a_slogan)
slog.pack(side=LEFT)

ws.mainloop()

输出:

在下面的输出中,我们看到两个按钮面板,一个是命令按钮,另一个是退出按钮。

Python Tkinter button panel

Python Tkinter button panel Output

单击命令按钮,我们会看到命令提示符上显示的文本。如果我们点击退出按钮,整个程序将被终止。

Python Tkinter button panel1

Python Tkinter button panel1 Output

阅读: Python Tkinter 按钮

Python Tkinter 滚动面板

在这一节中,我们将学习如何在 Python Tkinter 中创建滚动面板。

滚动面板用于在预定义的方向(水平或垂直)滚动面板窗口。当内容超出面板窗口并且用户想要阅读面板窗口的全部内容时,使用滚动面板。

代码:

在这段代码中,我们创建了一个面板窗口,在其中写入内容。内容超出了面板窗口,用户不会阅读全部内容。为了阅读全部内容,我们创建了一个滚动面板。

Orient 决定滚动条是垂直还是水平

 from tkinter import *

class ScrollBar:

	def __init__(self):

		ws = Tk()
		ws.title("Python Guides")
		ws.geometry("200x200")

		pw = PanedWindow(orient ='vertical')

		h1 = Scrollbar(ws, orient = 'horizontal')

		h1.pack(side = BOTTOM, fill = X)

		v1 = Scrollbar(ws)

		v1.pack(side = RIGHT, fill = Y)

		t1 = Text(ws, width = 15, height = 15, wrap = NONE,
				xscrollcommand = h1.set,
				yscrollcommand = v1.set)

		for i in range(20):
			t1.insert(END,"Python Guides Tutorial..!!\n")

		t1.pack(side=TOP, fill=X)

		h1.config(command=t1.xview)

		v1.config(command=t1.yview)

		ws.mainloop()

s1 = ScrollBar()

输出:

在下面的输出中,我们看到当我们想从上到下阅读整个内容时,只有一个垂直滚动面板。然后我们滚动垂直滚动面板。

Python Tkinter scrollbar panel

Python Tkinter scrollbar panel Output

您可能还想阅读以下关于 Python Tkinter 的主题。

因此,在本教程中,我们将讨论 Python Tkinter Panel,我们还将介绍与其实现相关的不同示例。这是我们已经讨论过的例子列表。

  • Python Tkinter 面板
  • Python Tkinter 添加面板
  • Python Tkinter 按钮面板
  • Python Tkinter 滚动面板

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 进度条小部件–如何使用

原文:https://pythonguides.com/python-tkinter-progress-bar/

Python & Machine Learning training courses

在这个 Python 教程、T3 中,我们将学习 Python Tkinter 进度条小工具。此外,我们将涵盖这些主题。

  • 关于 Python Tkinter 进度条
  • Python Tkinter 进度条使用确定
  • Python Tkinter 进度条使用不定
  • 如何找到进度条的值
  • 在进度条中应用文本
  • 如何增加或减少进度条的宽度
  • 在 Python Tkinter 进度条中使用线程
  • 如何更新进度条
  • 进度条不更新错误

目录

Python Tkinter 进度条小工具

  • Python Tkinter 进度条告知活动或任务的当前状态。
  • 进度条让用户感觉到他们的点击有反应,他们需要等待。
  • 进度条有两种模式:
    • 确定的
    • 模糊的

python tkinter progress bar

python tkinter progress bar

阅读:如何在 Python Tkinter 中添加图片。

Python Tkinter 进度条确定

  • Python Tkinter 进度条确定有一个确定的值,表示程序知道终点。
  • Determinate 是一种动画类型,在这种动画中,随着任务的继续完成,一个框会继续填充颜色。

代码:

在这段代码中,确定了进度条的显示模式

from tkinter import *
from tkinter.ttk import *
import time

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x250+1000+300')

def step():
    for i in range(5):
        ws.update_idletasks()
        pb1['value'] += 20

        time.sleep(1)

pb1 = Progressbar(ws, orient=HORIZONTAL, length=100, mode='indeterminate')
pb1.pack(expand=True)

Button(ws, text='Start', command=step).pack()

ws.mainloop()

输出:

python tkinter progress bar determinate

python tkinter progress bar determinate

读取 Python Tkinter 添加函数

Python Tkinter 进度条不确定

  • Python Tkinter 进度条不确定有一个不确定的值,这意味着系统没有固定的结束值。
  • 不定是一种动画类型,其中固定大小的条一直在移动。
  • 进度条的这种模式可以在“错误屏幕”或“故障排除屏幕”上看到。

python tkinter progress bar indeterminate example

Python Tkinter Progress bar indeterminate

代码:

from tkinter import *
from tkinter.ttk import *
import time

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x250+1000+300')

def step():
    for i in range(5):
        ws.update_idletasks()
        pb1['value'] += 20

        time.sleep(1)

pb1 = Progressbar(ws, orient=HORIZONTAL, length=100, mode='indeterminate')
pb1.pack(expand=True)

Button(ws, text='Start', command=step).pack()

ws.mainloop()

输出:

python tkinter progress bar indeterminate mode

Python Tkinter Progress bar indeterminate

阅读 Python Tkinter 过滤函数()——如何使用

Python Tkinter 进度条值

  • Python Tkinter 进度条值决定进度条每次走的步数。
  • 假设进度条的最大长度是 100。然后,达到 100 的每一步都被认为是一个值。
  • 如果值是 20,这意味着进度条将移动 5 次,变成 100。

代码:

在这段代码中,我们提供的值是 20。既然是这样

from tkinter import *
from tkinter.ttk import *
import time

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x250+1000+300')

def step():
    for i in range(5):
        ws.update_idletasks()
        pb1['value'] += 20

        time.sleep(1)

pb1 = Progressbar(ws, orient=HORIZONTAL, length=100, mode='indeterminate')
pb1.pack(expand=True)

Button(ws, text='Start', command=step).pack()

ws.mainloop()

输出:

在这个输出中,进度序列被显示出来&就在它的下面,进度条的值被打印出来。您可以观察到每个值相差 20

Python Tkinter 进度条文本

  • 在这一节中,我们将学习如何在 Python 进度条上实现一个文本。
  • 进度条没有单独显示文本的功能。
  • 我们可以使用一个标签小部件来做到这一点。我们所要做的就是在我们想要实现文本的地方放置一个标签小部件。
  • 现在我们可以配置标签的文本值&可以用 Python Tkinter 进度条中的变化来改变它。
  • 在这一部分,我们在进度条的右侧放置了一个标签。进度条的值提供给标签。

代码:

在这段代码中,我们在 step function 下声明了一个将运行 5 次的循环。这个循环将继续用 20 更新进度条值。

每次循环运行时,它都会更新标签的值。使用 ws.update_idletasks()以便我们可以看到进度。否则很快就会发生。每次循环运行时都有 1 秒的间隔。

from tkinter import *
from tkinter.ttk import Progressbar
import time

def step():
    for i in range(5):
        ws.update_idletasks()
        pb['value'] += 20
        time.sleep(1)
        txt['text']=pb['value'],'%'

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x150')
ws.config(bg='#345')

pb = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 100,
    mode = 'determinate'
    )

pb.place(x=40, y=20)

txt = Label(
    ws,
    text = '0%',
    bg = '#345',
    fg = '#fff'

)

txt.place(x=150 ,y=20 )

Button(
    ws,
    text='Start',
    command=step
).place(x=40, y=50)

ws.mainloop()

输出:

在此输出中,进度条旁边的文本显示进度条的值。

python tkinter text on progress bar

Python tkinter text on progress bar

Python Tkinter 进度条宽度

  • 如果你想知道,如何在 Tkinter 中增加进度条的宽度。
  • 那么最简单的解决方法就是增加长度值。长度值决定了进度条的宽度
  • 这里我们将投影两个不同宽度的例子。

代码:

在这段代码中,我们使用内置函数 start() 创建了三个不同的进度条。两个进度条是确定的&中间的一个是不确定的。

from tkinter import *
from tkinter.ttk import Progressbar
import time

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x350')
ws.config(bg='#345')

pb1 = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 50,
    mode = 'determinate'
    )

pb1.place(x=40, y=20)

pb2 = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 100,
    mode = 'indeterminate'
    )

pb2.place(x=40, y=80)

pb3 = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 150,
    mode = 'determinate'
    )

pb3.place(x=40, y=140)

pb1.start()
pb2.start()
pb3.start()

ws.mainloop()

输出:

在这个输出中,您可以看到所有三个进度条都有不同的宽度。

python tkinter progress bar width

Python tkinter progress bar width

Python Tkinter 进度条线程

  • Python 逐行运行程序。因此,程序的第二部分只在第一部分完成后运行。
  • 在这种情况下,会创建一个依赖项,这会延迟程序。
  • 为了解决这个问题&使程序独立,引入了线程的概念。
  • 在线程化中,程序的每个部分都作为一个独立的单元运行。

代码:

在这段代码中,我们使用线程创建了程序。线程有助于避免屏幕冻结。因为它使程序的一部分能够独立运行。

这里的进度条将在 5 秒钟后开始。与此同时,屏幕冻结,用户不能做任何事情。但是使用 thread,可以点击其他按钮或关闭窗口。

from tkinter import *
from tkinter.ttk import Progressbar
import time
import threading

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#345')

def start_download():
    time.sleep(5)
    pb.start()   

def stop_download():
    pb.stop()

pb = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 200,
    mode = 'determinate'
    )
pb.pack()

msg = Label(
    ws,
    text='',
    bg='#345',
    fg='red',

)

msg.pack()

start = Button(
    ws,
    text='Start Download',
    command=threading.Thread(target=start_download).start()
    #command=start_download
    )

start.pack()

stop = Button(
    ws,
    text='Stop Download',
    command=stop_download
)
stop.pack()

ws.mainloop()from tkinter import *
from tkinter.ttk import Progressbar
import time
import threading

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x350')
ws.config(bg='#345')

def play():
    time.sleep(10)
    pb.start()

pb = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 100,
    mode = 'determinate'
    )
pb.pack(pady=30)

play = Button(
    ws,
    text="Freeze",
    #command=threading.Thread(target=play).start())
    command=play)
play.pack(pady=30)

pb1 = Progressbar(
    ws,
    orient = HORIZONTAL,
    length = 100,
    mode = 'determinate'
    )

pb1.start()
pb1.pack(pady=30)

ws.mainloop()

输出:

在这个输出中,图 1.1 中的图像运行良好,当单击开始下载按钮时不会冻结屏幕。然而,图 1.2 中的图像显示,当单击开始下载按钮时,屏幕冻结 5 秒钟。这就是线程化的好处。

python tkinter progress bar using threading

python tkinter progress bar using threading

Python Tkinter 进度条更新

  • python Tkinter 中的进度条显示每次事件发生时的一些更新。
  • 它让用户觉得有事发生,需要等待。您可能已经注意到有一行代码写着 update_idletasks()
  • update_idletasks() 允许我们在进度条中看到增量。
  • 有了这行代码,人眼只能看到 100|%完成的进度条。
  • 要查看示例,请参考我们的 Python Tkinter 进度条文本部分。

Python Tkinter 进度条未更新

  • Python Tkinter 进度条应该会持续更新,如果进度条没有更新,它会提示用户什么也没有发生。
  • 进度条绑定到时间,指示用户保持片刻。
  • 进度条不更新有各种可能的原因。
  • 这里有一些你可以遵循的提示:
    • 增量的值应该总是小于进度条的长度
    • 尝试提供增量值作为长度的整除。例如,如果长度是 100,20 或 10 将是完美的增量值,因为提醒最终将是 0。
    • 使用循环时,请确保提供

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了使用 Python Tkinter 实现一个进度条。此外,我们已经讨论了这些主题。

  • 关于 Python Tkinter 进度条
  • Python Tkinter 进度条使用确定
  • Python Tkinter 进度条使用不定
  • 如何找到进度条的值
  • 在进度条中应用文本
  • 如何增加或减少进度条的宽度
  • 在 Python Tkinter 中使用线程
  • 如何更新进度条
  • 进度条不更新错误

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 测验–完整教程

原文:https://pythonguides.com/python-tkinter-quiz/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习如何使用 Python Tkinter 创建一个测验应用程序。测验应用程序用于输入多项选择问卷。用户需要为所提问题选择正确的选项。

目录

Python Tkinter 问答应用概述

  • 在我们开始用 Python Tkinter 编写代码之前,理解 quiz 中的工作原理是很重要的。
  • 问题显示有四个选项,从中选择一个是正确答案。
  • 用户选择答案后,单击“下一步”按钮。“下一步”按钮带来了带有新选项集的新问题。
  • 一旦程序到达最后一个问题,然后显示结果。结果会弹出,显示百分比分数、正确答案和错误答案总数。
  • 每个屏幕上都有一个退出按钮,以防你想退出程序。

Python Tkinter 问答应用代码描述

代码是使用面向对象编程编写的,类名是 Quiz。

  • 在下面的代码中,我们创建了一个构造函数,用来保存问题数量、窗口标题、使用单选按钮的多选项问题、函数等值。
  • 每次程序运行时都会调用这个构造函数,所以我们在这里提供了所有主要函数的名称。
class Quiz:
	def __init__(self):
		self.qno=0
		self.disp_title()
		self.disp_ques()
		self.opt_sel=IntVar()
		self.opts=self.radio_buttons()
		self.disp_opt()
		self.buttons()
		self.total_size=len(question)
		self.correct=0
  • def disp_res() 函数用于显示测验的结果。最终结果将使用 Python Tkinter 中的消息框显示。
  • 错误答案=问题总数–正确答案总数和最终分数的百分比是分数=(正确答案/问题总数)乘以 100
def disp_res(self):

		wrong_count = self.total_size - self.correct
		correct = f"Correct: {self.correct}"
		wrong = f"Wrong: {wrong_count}"

		score = int(self.correct / self.total_size * 100)
		result = f"Score: {score}%"

		mb.showinfo("Result", f"{result}\n{correct}\n{wrong}") 
  • check_ans() 函数在这里用来返回正确的答案。
  • 该功能将用户选择的选项与正确的选项进行比较。如果两者相同,则函数返回 True。
def check_ans(self, qno):

		if self.opt_sel.get() == answer[qno]:
			return True
  • next_btn() 此处使用函数移动到下一个问题。点击“下一步”按钮将显示新问题。
  • 如果没有问题,它将显示结果。
def next_btn(self):

		if self.check_ans(self.qno):
			self.correct += 1

		self.qno += 1

		if self.qno==self.total_size:
			self.disp_res()
			ws.destroy()
		else:
			self.disp_ques()
			self.disp_opt()
  • buttons() 此处使用 Python Tkinter 在屏幕或窗口上显示按钮。
  • 程序中使用了两个按钮:
    • next_button :显示结果或新问题
    • quit_button :终止程序。
def buttons(self):

		next_button = Button(
            ws, 
            text="Next",
            command=self.next_btn,
            width=10,
            bg="#F2780C",
            fg="white",
            font=("ariel",16,"bold")
            )

		next_button.place(x=350,y=380)

		quit_button = Button(
            ws, 
            text="Quit", 
            command=ws.destroy,
            width=5,
            bg="black", 
            fg="white",
            font=("ariel",16," bold")
            )

		quit_button.place(x=700,y=50) 
  • disp_opt() 函数用于向用户显示每个问题的选项。
  • 这些选项是从保存问卷、选项及其答案的硬编码数据库中获取的。
def disp_opt(self):
		val=0
		self.opt_sel.set(0)

		for option in options[self.qno]:
			self.opts[val]['text']=option
			val+=1

阅读使用 pyinstaller 将 python 文件转换为 exe 文件

使用 Python Tkinter 的源代码测试应用

这段源代码遵循了面向对象编程,这样我们就不用重复代码了。单击此处下载包含测验问题、选项和答案的数据文件。

from tkinter import *
from tkinter import messagebox as mb
import json

class Quiz:
	def __init__(self):
		self.qno=0
		self.disp_title()
		self.disp_ques()
		self.opt_sel=IntVar()
		self.opts=self.radio_buttons()
		self.disp_opt()
		self.buttons()
		self.total_size=len(question)
		self.correct=0

	def disp_res(self):

		wrong_count = self.total_size - self.correct
		correct = f"Correct: {self.correct}"
		wrong = f"Wrong: {wrong_count}"

		score = int(self.correct / self.total_size * 100)
		result = f"Score: {score}%"

		mb.showinfo("Result", f"{result}\n{correct}\n{wrong}")

	def check_ans(self, qno):

		if self.opt_sel.get() == answer[qno]:
			return True

	def next_btn(self):

		if self.check_ans(self.qno):
			self.correct += 1

		self.qno += 1

		if self.qno==self.total_size:
			self.disp_res()
			ws.destroy()
		else:
			self.disp_ques()
			self.disp_opt()

	def buttons(self):

		next_button = Button(
            ws, 
            text="Next",
            command=self.next_btn,
            width=10,
            bg="#F2780C",
            fg="white",
            font=("ariel",16,"bold")
            )

		next_button.place(x=350,y=380)

		quit_button = Button(
            ws, 
            text="Quit", 
            command=ws.destroy,
            width=5,
            bg="black", 
            fg="white",
            font=("ariel",16," bold")
            )

		quit_button.place(x=700,y=50)

	def disp_opt(self):
		val=0
		self.opt_sel.set(0)

		for option in options[self.qno]:
			self.opts[val]['text']=option
			val+=1

	def disp_ques(self):

		qno = Label(
            ws, 
            text=question[self.qno], 
            width=60,
            font=( 'ariel' ,16, 'bold' ), 
            anchor= 'w',
			wraplength=700,
			justify='center'
            )

		qno.place(x=70, y=100)

	def disp_title(self):

		title = Label(
            ws, 
            text="PythonGuides QUIZ",
            width=50, 
            bg="#F2A30F",
            fg="white", 
            font=("ariel", 20, "bold")
            )

		title.place(x=0, y=2)

	def radio_buttons(self):

		q_list = []

		y_pos = 150

		while len(q_list) < 4:

			radio_btn = Radiobutton(
                ws,
                text=" ",
                variable=self.opt_sel,
                value = len(q_list)+1,
                font = ("ariel",14)
                )
			q_list.append(radio_btn)

			radio_btn.place(x = 100, y = y_pos)

			y_pos += 40

		return q_list

ws = Tk()

ws.geometry("800x450")

ws.title("PythonGuides Quiz")

with open('data.json') as f:
	data = json.load(f)

question = (data['question'])
options = (data['options'])
answer = (data[ 'answer'])

quiz = Quiz()

ws.mainloop()

使用 Python Tkinter 的问答应用 的输出

  • 在这个输出中,您可以看到有一个使用 Python Tkinter 创建的测验应用程序。该应用程序显示标题、问题和四个单选按钮来显示选项。
  • 每次用户点击下一步按钮,新的问题就会出现在屏幕上。
  • 右边有一个退出按钮,点击它将终止程序。

python tkinter quiz

Python Tkinter Quiz

您可能会喜欢以下 python Tkinter 教程:

在本教程中,我们学习了如何使用 Python Tkinter 创建测验应用程序。

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 单选按钮–如何使用

原文:https://pythonguides.com/python-tkinter-radiobutton/

Python & Machine Learning training courses

在本 Python 教程中,我们将学习 Python Tkinter RadioButton 。此外,我们还将讨论以下主题:

  • Tkinter 单选按钮 Python
  • Tkinter 单选按钮获取值
  • Tkinter 单选按钮命令
  • Tkinter 单选按钮变量
  • tkinter 单选按钮水平
  • Tkinter 单选按钮网格
  • Tkinter 单选按钮默认值
  • Tkinter 单选按钮组
  • Tkinter 单选按钮示例

目录

Python Tkinter 单选按钮

我们先来讨论一下什么是 Python Tkinter RadioButton

  • Python GUI 编程中,我们可以使用单选按钮进行选择。
  • 它支持从多个单选按钮中进行单一选择。
  • 在填写任何表格的时候,你一定遇到过性别选择选项。其中只允许您选择一个选项。这就是所谓的单选按钮。

举例:

这里你可以看到一个 Python 单选按钮的例子。

python tkinter radiobutton

python tkinter radiobutton

Tkinter 单选按钮获取值

  • 在本节中,我们将学习如何在 Python 中获取单选按钮中存储的值
  • 在下面的例子中,学生可以选择一个方向(科学、商业、艺术)。
  • radiobutton 的值采用整数或字符串形式。
  • 在这种情况下,值是整数

代码:

from tkinter import *
from tkinter import messagebox

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

def viewSelected():
    choice  = var.get()
    if choice == 1:
       output = "Science"

    elif choice == 2:
       output =  "Commerce"

    elif choice == 3:
       output =  "Arts"
    else:
        output = "Invalid selection"

    return messagebox.showinfo('PythonGuides', f'You Selected {output}.')

var = IntVar()
Radiobutton(ws, text="Science", variable=var, value=1, command=viewSelected).pack()
Radiobutton(ws, text="Commerce", variable=var, value=2, command=viewSelected).pack()
Radiobutton(ws, text="Arts", variable=var, value=3, command=viewSelected).pack()

ws.mainloop()

输出:

在此输出中,用户选择了“商务选项”。所以提示告诉他,他选择了‘商务’。

python tkinter radiobutton get

python tkinter radiobutton

此外,你可能会喜欢,身体质量指数计算器使用 Python Tkinter

Python Tkinter 单选按钮命令

  • Python Tkinter RadioButton 命令我们可以用来触发一个函数或方法
  • 换句话说,当单选按钮被选中时会发生什么
  • 就像上一节一样,当单击 radiobutton 时,会出现一个带有所选选项的提示。

代码:

from tkinter import *

ws =Tk()
ws.title("PythonGuides")
ws.geometry('200x200')

def sayHello():
    return Label(ws, text="Hello user").pack()

var= IntVar()
Radiobutton(ws, text='Python', variable=var, value=1, command=sayHello).pack()
Radiobutton(ws, text='Guide', variable=var, value=2, command=sayHello).pack()
ws.mainloop()

输出:

在这个输出中,创建了打印“hello world”的函数。当用户点击任一单选按钮时,该功能被触发&输出被显示。command 关键字用于传递单选按钮中的函数。

python tkinter radiobutton command

Python Tkinter RadioButton command

Tkinter 单选按钮变量

  • Radiobutton 变量控制值的类型。
  • 如果变量字符串变量(),这意味着将是字符串类型。
  • 如果变量IntVar() ,那么将是一个整数类型。
  • 变量中的值用于定位 radiobutton。

阅读: Python Tkinter 文本框小工具

Tkinter 单选按钮水平

  • Python 单选按钮可以水平或垂直对齐
  • 在本节中,我们将学习如何在水平窗体中设置单选按钮

代码:

from tkinter import *

ws = Tk()
ws.title("PythonGuides")
ws.geometry('200x200')

var = IntVar()

cold_bev = Radiobutton(ws, text="Cold Beverage", variable=var, value=1).grid(row=0, column=1)
hot_bev = Radiobutton(ws, text="Hot Beverage", variable=var, value=2).grid(row=0, column=2)

ws.mainloop()

输出:

在这个输出中,单选按钮水平对齐。我们已经使用网格来做到这一点。这里 row = 0column = 1 表示“冷饮”,而 column = 2 表示“热饮”。

python tkinter radiobutton horizontal

Tkinter RadioButton horizontal

Python Tkinter 单选按钮网格

  • 网格是一个定位管理工具
  • 它以行列格式放置小部件。
  • 位置从左上角开始
  • 这意味着,行=0列=0

代码:

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('200x200')

var = IntVar()
frame = LabelFrame(ws, text='Choose wisely')
frame.pack(pady=10)

Radiobutton(frame, text='Army', variable=var, value=1).grid(row=0, column=1)
Radiobutton(frame, text="Airforce", variable=var, value=2).grid(row=0, column=2)
Radiobutton(frame, text="Navy", variable=var, value=3).grid(row=1, columnspan=3)

ws.mainloop()

输出:

在这个输出中,我们可以看到 radiobuttons 是使用 grid 定位的。

python tkinter radiobutton grid

Tkinter RadioButton grid

Python 中的 Tkinter 单选按钮默认值

我们还可以在 Python 中设置在 Tikinter 单选按钮中选择的默认选项。

  • 当用户不提供任何值时,Default 有助于提供一些值。
  • 当用户点击重置按钮或不提供任何输入时,默认单选按钮被选择或接受。

代码:

from tkinter import *

ws = Tk()
ws.title("PythonGuides")
ws.geometry('200x250')
ws.configure(bg='#dddddd')

def reset():
    return var.set(5)

var = IntVar()
frame = LabelFrame(ws, text='Select Beverage', padx=50, bg= '#dddddd')
frame.pack()
Radiobutton(frame, text="Tea", variable=var, value=1 ).pack(anchor=W)
Radiobutton(frame, text="Coffee", variable=var, value=2).pack(anchor=W)
Radiobutton(frame, text="Cola", variable=var, value=3).pack(anchor=W)
Radiobutton(frame, text="Wine", variable=var, value=4).pack(anchor=W)
none_Rb = Radiobutton(frame, text="None", variable=var, value=5).pack(anchor=W)

Button(ws, text='reset', command=reset, padx=20, pady=5).pack(pady=10)

ws.mainloop()

输出:

在这个输出中,用户可以选择任何一个选项。无论选择了什么选项,但如果他点击重置,那么单选按钮将设置为默认,即无。

python tkinter radiobutton default

Tkinter RadioButton default

Tkinter 单选按钮组

  • 创建单选按钮的群集称为组
  • 同一组的 Radiobutton 具有相同的变量名。
  • 在一个表单中,有多个单选按钮,但它们可能并不都保存相同的目的。
  • 所以为了对它们进行分类,它们被分组。
  • 如性别会有男、女、流会有、科学商业等。

代码:

from tkinter import *

ws = Tk()
ws.title("PythonGuies")
ws.geometry('200x200')

frame1 = LabelFrame(ws, text='Gender')
frame1.grid(row=1, column=1, padx=10)

frame2 = LabelFrame(ws, text='Discipline')
frame2.grid(row=1, column=2)

group_1 = IntVar()
group_2 = IntVar()
Radiobutton(frame1, text='Female', variable=group_1, value=1).pack()
Radiobutton(frame1, text='Male', variable=group_1, value=2).pack()
Radiobutton(frame2, text='Army', variable=group_2, value=1).pack()
Radiobutton(frame2, text='Navy', variable=group_2, value=2).pack()

ws.mainloop()

输出:

在此输出中,为 radiobutton 创建了 2 个组。“性别内的单选按钮不会影响“学科内的单选按钮。每个组都是独立的。

Tkinter RadioButton group

Tkinter RadioButton group

Tkinter 单选按钮示例

  • 在本例中,我们将为包含 radiobutton 的整个应用程序编写代码。
  • 应用程序是一种用户将提供信息的表单
  • 提交按钮将提示标题、名称和一条消息。
  • 这些头衔(先生或女士)将根据单选按钮中的选择来定义。

代码:

from tkinter import *
from tkinter import messagebox

ws =Tk()
ws.title('PythonGuides')
ws.geometry('250x300')

def selection():
    choice = var.get()
    if choice == 1:
        m = 'Ms.'
    elif choice == 2:
        m = 'Mr.'
    elif choice == 3:
        pass
    return m

def submit():
    name = name_Tf.get()
    m = selection()
    return messagebox.showinfo('PythonGuides', f'{m} {name}, submitted form.')

frame1 = Label(ws)
frame1.pack()
frame2 = LabelFrame(frame1, text='Gender', padx=30, pady=10)

var =IntVar()

Label(frame1, text='Full Name').grid(row=0, column=0, padx=5, pady=5)
Label(frame1, text='Email').grid(row=1, column=0, padx=5, pady=5)
Label(frame1, text='Password').grid(row=2, column=0, padx=5, pady=5)
Radiobutton(frame2, text='Female', variable=var, value=1,command=selection).pack()
Radiobutton(frame2, text='Male', variable=var, value=2,command=selection).pack(anchor=W)
Radiobutton(frame2, text='Others', variable=var, value=3,command=selection).pack()
name_Tf = Entry(frame1)
name_Tf.grid(row=0, column=2)
Entry(frame1).grid(row=1, column=2)
Entry(frame1, show="*").grid(row=2, column=2)
frame2.grid(row=3, columnspan=3,padx=30)
Button(frame1, text="Submit", command=submit, padx=50, pady=5).grid(row=4, columnspan=4, pady=5)

ws.mainloop()

输出:

这是代码的输出,这里使用了标签条目单选按钮框架标签框架按钮小部件。

python tkinter radiobutton example

Tkinter RadioButton example

您可能会喜欢以下 Python 教程:

在这个 Python 教程中,我们学习了如何在 GUI 编程中使用 Python Tkinter radiobutton 。现在,在设计屏幕时,我们可以使用 Python 中的单选按钮。

  • Tkinter 单选按钮 Python
  • Tkinter 单选按钮获取值
  • Tkinter 单选按钮命令
  • Tkinter 单选按钮变量
  • tkinter 单选按钮水平
  • Tkinter 单选按钮网格
  • Tkinter 单选按钮默认值
  • Tkinter 单选按钮组
  • Tkinter 单选按钮示例

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

如何使用 Python Tkinter 读取文本文件

原文:https://pythonguides.com/python-tkinter-read-text-file/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习如何使用 Python Tkinter 中的文件。我们将使用 Python Tkinter 读取一个文本文件,我们也将涉及这些主题。

  • Python Tkinter 读取文本文件
  • 如何在 Python Tkinter 中打开文本文件
  • 如何在 Python Tkinter 中读取文本文件
  • 如何在 Python Tkinter 中显示文本文件
  • 如何在 Python Tkinter 中保存到文本文件
  • 如何用 Python Tkinter 编写文本文件
  • 如何在 Python Tkinter 中编辑文本文件
  • 如何在 Python Tkinter 中创建文本文件
  • 如何在 Python Tkinter 中关闭文本文件

目录

Python Tkinter 打开文本文件

  • 在本节中,我们将学习如何使用系统中的 Python Tkinter 打开一个文本文件。
  • open()函数用于打开文件。
  • Python Tkinter 中主要有三种打开文件的模式。
    • r ':以只读方式打开文件。
    • w ':以只写模式打开文件。
    • a’:追加模式下打开 fil。
  • 读取模式是默认模式。这意味着即使在打开文件时没有指定读取模式,它也会使用它。
  • 在我们的系统中,我们看到一个打开文件的对话框,类似于我们用 Python Tkinter 做的事情。
  • Python Tkinter 有一个名为 filedialog 的模块,使用它我们可以打开系统文件。
  • 让我们看看 Python Tkinter 读取文本文件的实现

语法:

下面是使用 open() 函数的语法

f = open("file_path", "mode")
data = f.read()
  • 在这里, file_path 指的是文件位置&我们将使用 filedialog 来这样做。
  • 模式可以是‘r’,‘w’,‘a’。任何带有后缀 '+' 的模式都将执行读取&写入。
  • 这里, f 是文件指针,数据保存文本文件中的内容。

下面是在 Python Tkinter 中使用 filedialog 的语法。

from tkinter import filedialog

tf = filedialog.askopenfilename(
        initialdir="C:/Users/MainFrame/Desktop/", 
        title="Open Text file", 
        filetypes=(("Text Files", "*.txt"),)
        )
  • 要访问文件对话框,我们需要导入模块。
  • tf 是代表 filedialog 的变量。
  • 在 filedisalog 类中,我们使用作为 openfilename 函数。
  • initialdir 是将在文件对话框中打开的默认目录。
  • 标题是文件对话框的标题
  • 文件类型指定您想要接受的文件类型。它起着过滤器的作用。在我们的案例中,我们已经明确说明我们只希望与。txt 扩展名。
  • "*.txt"此处*表示任何文件,无论名称如何,但必须具有 txt 扩展名。

我们来看一个小程序,了解一下到目前为止我们学到了什么。

你可能喜欢 Python 捕捉多个异常Python 异常处理

代码:

在这段代码中,我们使用了 open 函数来读取 Python tkinter 中的文件内容。内容显示在文本小部件中。可以使用文件对话框选择文本文件。选定的文件路径显示在输入框中。

from tkinter import *
from tkinter import filedialog

def openFile():
    tf = filedialog.askopenfilename(
        initialdir="C:/Users/MainFrame/Desktop/", 
        title="Open Text file", 
        filetypes=(("Text Files", "*.txt"),)
        )
    pathh.insert(END, tf)
    tf = open(tf)  # or tf = open(tf, 'r')
    data = tf.read()
    txtarea.insert(END, data)
    tf.close()

ws = Tk()
ws.title("PythonGuides")
ws.geometry("400x450")
ws['bg']='#fb0'

txtarea = Text(ws, width=40, height=20)
txtarea.pack(pady=20)

pathh = Entry(ws)
pathh.pack(side=LEFT, expand=True, fill=X, padx=20)

Button(
    ws, 
    text="Open File", 
    command=openFile
    ).pack(side=RIGHT, expand=True, fill=X, padx=20)

ws.mainloop()

输出:

在这个输出中,我们选择了一个名为 Readme.txt 的文本文件。您可以看到 Readme.txt 的内容显示在屏幕上。

python tkinter open file

python tkinter open file

阅读: Python Tkinter 选项菜单

Python Tkinter 读取文本文件

  • 在这一节中,我们将学习如何使用 Python Tkinter 来读取文本文件。
  • 该部分的大部分内容已经在前面的章节中介绍过了。因此,我们将在这里讨论上一节没有涉及的内容。
  • 我们就来说说 read()readline()readlines()readable()
  • read() 用于读取文件的全部内容。
  • readline() 只返回行中的内容
  • readlines() 以列表形式返回文件的所有内容。每行都是分开的。
  • readable() 检查文件内容是否是人类可读的形式。它返回一个布尔值。
  • 为了支持我们的例子,我们创建了一个文本文件 read.txt

python tkinter read text file samplefile.

python tkinter read text file

上图中提到的文本是一个虚拟文本,现在我们将使用这个 read.txt 文件执行读取功能。

read():

为了读取文件并打印全部数据,我们使用 read()函数。

f = open("read.txt")
print(f.read())

这段代码将返回 read.txt 文件的全部内容。

如果我们将整数参数传递给这个 read()函数,那么它将返回这个数字之前的单词。假设它是print(f.read(5)) ,那么输出将是一个 m ,即包括空格在内的前五个字符。我们再次运行 print(f.read()) 功能,它将显示剩余的内容。这可能有点令人困惑,但是这个例子将会澄清这一切。

f = open("read.txt")
print(f.read(5))
print(f.read())

python tkinter read text file sample file

python tkinter read text file

在这个输出中,您可以观察到,当我们再次调用 read()函数时,它已经从第一行中离开的地方继续了。

readline():t1

  • 这个函数返回内容的行。每次程序运行时,它都返回下一行
  • 因为这个文本文件有 4 行,所以我们需要实现这个函数 4 次才能看到屏幕上的所有行。
  • 像 read()函数一样,readline()也返回连续的字符,直到传递的整数值。
  • 让我们看看我们所学到的一切在行动中。
f = open("read.txt")
print(f.readline(5)) # 1
print(f.readline())  # 2
print(f.readline())  # 3 

python tkinter read text file using readline

python tkinter read text file

在这个输出中,您可以看到在第二行代码中,我们传递了参数 5,结果在输出中只打印了一个 m。在第二行代码中,我们再次使用 readline()函数打印了 read.txt。这延续了文本,只打印了一行。所以你可以看到每个函数值都被打印出来了,它只打印了文本文件的一行。总共打印 3 次 readline()函数的值。

阅读线():

  • readlines() 函数将每一行追加到一个列表中,然后返回它。换句话说,这个函数的输出是一个以内容行作为列表项的列表。
  • 如果您想将表中的特定行作为目标,这非常有用。
  • 无论传递什么整数参数,它都只会返回索引为 0 的那一行。但是如果你传递 0,那么它将返回整个列表。
  • 让我们看看我们所学到的一切在行动中。
f = open("read.txt")
print(f.readlines(2))
print(f.readlines())
print(f.readlines()) 

python tkinter read text file readlines

python tkinter read text file

在这个输出中,您可以看到 with readlines()提供了参数,即 2 ,即使这样它也显示第一个。此外,您可以注意到,当再次打印函数值时,它没有显示第一行,因为它已经显示在输出的第一行中了。因为所有文本都显示在输出的第一行和第二行,所以当再次打印函数值时,它返回一个空字符串。

你可能也喜欢,如何使用 Python Tkinter 创建倒计时定时器。

Python Tkinter 显示文本文件

  • Python Open() 已经将读取模式设置为默认。
  • 所以每次我们打开一个文件,我们默认显示它。
  • 我们已经在上面的章节中讨论了这个主题。请参考 Python Tkinter Read 文本文件一节,以获得该主题的演示和解释。

Python Tkinter 保存到文本文件

  • 在本节中,我们将学习如何保存文本文件 Python Tkinter 的内容。
  • 每天在电脑上工作时,我们都会保存文件。所以必须意识到这样做的接口。
  • 我们单击“保存”按钮,没有消息的保存已经保存,否则会出现一个文件对话框,用户导航到该位置,然后单击“保存”按钮。文件保存在该位置。
  • 同样,我们将使用 Python Tkinter filedialog 模块来生成一个文件对话框。使用文件对话框用户可以保存文件。

代码:

在这段代码中,我们实现了使用 python tkinter 编写文件、使用 python tkinter 保存文件和使用 python tkinter 编辑文件。这是一个完整的应用程序,可用作记事本,用户可以在其中写东西,保存和打开文件。

from tkinter import *
from tkinter import filedialog

# functions 
def openFile():
    tf = filedialog.askopenfilename(
        initialdir="C:/Users/MainFrame/Desktop/", 
        title="Open Text file", 
        filetypes=(("Text Files", "*.txt"),)
        )
    pathh.insert(END, tf)
    tf = open(tf)
    file_cont = tf.read()
    txtarea.insert(END, file_cont)

    tf.close()

def saveFile():
    tf = filedialog.asksaveasfile(
        mode='w',

        title ="Save file",
        defaultextension=".txt"
        )
    tf.config(mode='w')

    pathh.insert(END, tf)
    data = str(txtarea.get(1.0, END))
    tf.write(data)

    tf.close()

ws = Tk()
ws.title("PythonGuides")
ws.geometry("400x500")
ws['bg']='#2a636e'

# adding frame
frame = Frame(ws)
frame.pack(pady=20)

# adding scrollbars 
ver_sb = Scrollbar(frame, orient=VERTICAL )
ver_sb.pack(side=RIGHT, fill=BOTH)

hor_sb = Scrollbar(frame, orient=HORIZONTAL)
hor_sb.pack(side=BOTTOM, fill=BOTH)

# adding writing space
txtarea = Text(frame, width=40, height=20)
txtarea.pack(side=LEFT)

# binding scrollbar with text area
txtarea.config(yscrollcommand=ver_sb.set)
ver_sb.config(command=txtarea.yview)

txtarea.config(xscrollcommand=hor_sb.set)
hor_sb.config(command=txtarea.xview)

# adding path showing box
pathh = Entry(ws)
pathh.pack(expand=True, fill=X, padx=10)

# adding buttons 
Button(
    ws, 
    text="Open File", 
    command=openFile
    ).pack(side=LEFT, expand=True, fill=X, padx=20)

Button(
    ws, 
    text="Save File", 
    command=saveFile
    ).pack(side=LEFT, expand=True, fill=X, padx=20)

Button(
    ws, 
    text="Exit", 
    command=lambda:ws.destroy()
    ).pack(side=LEFT, expand=True, fill=X, padx=20, pady=20)

ws.mainloop()

输出:

在此输出中,虚拟文本被写入文本区域。现在当用户点击保存按钮时,会出现一个文件浏览器提示。用户可以在点击保存按钮之后导航到他想要保存它的位置。文件保存在系统中,可以通过单击打开按钮打开。

python tkinter read textfile save file

Python Tkinter Save to Text File

Python Tkinter 写的文本文件

  • 在这一节中,我们将学习如何用 Python Tkinter 编写一个文本文件。
  • **open(file_path, w)** is 用于将一个文件写入一个已存在的文件中。
  • open(file_path, w+) 用于写一个文件,如果该文件不存在,它将创建一个新文件。
  • 在使用 Python Tkinter 时,我们可以传递它们中的任何一个,它们将以相同的方式工作。
  • 请参考我们的 Python Tkinter 保存到文本文件部分来查看演示。

Python Tkinter 编辑文本文件

  • 在本节中,我们将学习如何在 Python Tkinter 中编辑文本文件。
  • 编辑意味着文件中已经有一些文本,我们想改变它。
  • 在 Python 中,可以使用追加模式来完成文件编辑。
  • 但是在 Tkinter 的情况下,你可以简单地打开一个文件进行修改,然后再保存它。
  • 请参考我们的 Python Tkinter 保存到文本文件部分来查看演示。

Python Tkinter 创建文本文件

  • 要在 Tkinter 中创建一个文本文件,占据一些文本区域是很重要的。
  • 您可以使用画布条目文本小部件来创建文本区域。在我们的例子中,我们使用了文本小部件。
  • 一旦写空间准备好了,我们需要创建动作按钮来保存文件。
  • 文件对话框该模块将用于打开文件浏览器以保存或打开文件。
  • 现在,最终用户需要在提供的书写空间上键入一些文本,当他单击保存按钮时,将弹出一个文件浏览器,他可以将文件保存到所需的目标位置。
  • 要查看实现,请参考我们的 Python Tkinter 保存到文本文件部分。

Python Tkinter 关闭文本文件

  • 当任何操作开始时,确定它何时结束是很重要的。
  • 关闭文本文件很重要,并且被认为是一种好的做法。
  • 每当我们打开一个文件时,它就开始运作。系统认为我们正在处理它,所以给它分配了一些资源。关闭文件告诉计算机任务已经完成,现在文件是自由的。
  • 在不关闭文件的情况下执行程序时,您可能看不到任何区别。但是,如果您将使用其他数据库处理更大的项目,那么您会注意到不同之处。
  • 因此,使用后关闭文件是一个好习惯。

语法:

f = open("file_path", "mode")
    -------
    -------
f.close() 

您可能会喜欢以下 Python 教程:

在本教程中,我们学习了如何在 Python Tkinter 中读取文本文件。我们也讨论了这些主题。

  • 如何在 Python Tkinter 中打开文本文件
  • 如何在 Python Tkinter 中读取文本文件
  • 如何在 Python Tkinter 中显示文本文件
  • 如何在 Python Tkinter 中保存到文本文件
  • 如何用 Python Tkinter 编写文本文件
  • 如何在 Python Tkinter 中编辑文本文件
  • 如何在 Python Tkinter 中创建文本文件
  • 如何在 Python Tkinter 中关闭文本文件

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 将文本保存到文件

原文:https://pythonguides.com/python-tkinter-save-text-to-file/

Python & Machine Learning training courses

在本教程中,我们将学习如何在 Python Tkinter 中将文本保存到文件中,我们还将介绍与保存文本文件相关的不同示例。并涵盖这些主题

  • Python Tkinter 将文本保存到文件
  • Python Tkinter 保存文本对话框
  • Python Tkinter 保存文件路径
  • Python Tkinter 保存条目
  • Python Tkinter 保存按钮
  • Python Tkinter 将输入保存到变量
  • Python Tkinter 保存画布图像

目录

Python Tkinter 保存文本到文件

在这一节中,我们将学习如何在 Python Tkinter 中将文本保存到文件中。

首先,我们在记事本、微软 word 等文本书写工具上书写文本。写完文字后,我们要保存这个。要保存文本,请进入菜单栏,文件选项卡位于文件选项卡下,有保存文件的保存选项。

代码:

在下面的代码中,我们首先清除文本区域,然后插入文本,并通过单击保存选项进行保存。

  • text_zone.delete() 用于清除文本区域。
  • text_zone.insert() 用于在文本区内插入文本。
  • text _ zone . edit _ modified()=插入文本后如果我们想修改文本那么我们使用这个函数。
  • file dialog . ask openfile()函数显示对话框,允许用户选择文件并返回用户选择的文件。
  • filemenu.add_command() 用于在文件标签下添加命令。
  • menubar.add_cascade() 用于提供打开文件时的功能访问。
  • 如果我们写了一个大段,就使用滚动条()。因为屏幕不足以显示整个段落,所以我们使用了滚动条。
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog

def file1():    
    if not text_zone.edit_modified():      
        text_zone.delete('1.0', tk.END)
    else:        
        savefileas()

        text_zone.delete('1.0', tk.END)  

    text_zone.edit_modified(0)

    ws.title('PYTHON GUIDES')    

def openfile():

    if not text_zone.edit_modified():       
        try:            
            path = filedialog.askopenfile(filetypes = (("Text files", "*.txt"), ("All files", "*.*"))).name

            ws.title('Notepad - ' + path)          

            with open(path, 'r') as f:             
                content = f.read()
                text_zone.delete('1.0', tk.END)
                text_zone.insert('1.0', content)

                text_zone.edit_modified(0)

        except:
            pass   

    else:       
        savefileas()      

        text_zone.edit_modified(0)              
        openfile()         

def savefile():    
    try:

        path = ws.title().split('-')[1][1:]   

    except:
        path = ''

    if path != '':

        with open(path, 'w') as f:
            content = text_zone.get('1.0', tk.END)
            f.write(content)

    else:
        savefileas()    

    text_zone.edit_modified(0)
def savefileas():    
    try:
        path = filedialog.asksaveasfile(filetypes = (("Text files", "*.txt"), ("All files", "*.*"))).name
        ws.title('Notepad - ' + path)

    except:
        return   

    with open(path, 'w') as f:
        f.write(text_zone.get('1.0', tk.END))

ws = tk.Tk()

ws.title('Notepad')
ws.geometry('800x600')

menubar = tk.Menu(ws)

filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=file1)
filemenu.add_command(label="Open", command=openfile)
filemenu.add_command(label="Save", command=savefile)
filemenu.add_command(label="Save as...", command=savefileas)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=ws.quit)

menubar.add_cascade(label="File", menu=filemenu)

text_zone = tk.Text(ws)
text_zone.pack(expand = tk.YES, fill = tk.BOTH, side = tk.LEFT)

scrollbar = ttk.Scrollbar(ws, orient=tk.VERTICAL, command=text_zone.yview)
scrollbar.pack(fill=tk.Y, side=tk.RIGHT)
text_zone['yscrollcommand'] = scrollbar.set

ws.config(menu=menubar)

ws.mainloop() 

输出:

在下面的输出中,我们看到了书写文本的记事本。为了保存这个文本,我们在菜单栏中创建了一个菜单栏,我们看到了 file 选项。

Python Tkinter save text to file

Python Tkinter save text to file Output

在点击文件时,我们看到保存选项,点击它们将文本保存到文件中。

Python Tkinter save text to file1

Python Tkinter save text to file1 Output

阅读: Python Tkinter Spinbox

Python Tkinter 保存文本对话框

在本节中,我们将学习如何在 Python Tkinter 中保存文本对话框。

对话框是一个驱动器或目录,我们可以在其中保存我们的文本文件。我们可以创建一个文本文件,将这个文本文件保存到对话框中。点击按钮出现对话框。选择你想要保存的文件,选定文件后点击保存。文件将保存在对话框中。

代码:

在下面的代码中,我们创建了一个窗口 ws=TK() 在这个窗口中,我们添加了一个按钮,单击这个按钮会出现一个对话框,我们在这里保存文本文件。

  • asksaveasfile() 用于保存用户文件的函数。
  • lambda 函数只有一个表达式。
  • 按钮()用于保存文件。
from tkinter import *

from tkinter.filedialog import asksaveasfile

ws = Tk()
ws.geometry('200x200')
ws.title("Python Guides")

def save():
	Files = [('All Files', '*.*'),
			('Python Files', '*.py'),
			('Text Document', '*.txt')]
	file = asksaveasfile(filetypes = Files, defaultextension = Files)

button = Button(ws, text = 'Save', command = lambda : save())
button.pack(side = TOP, pady = 20)

ws.mainloop()

输出:

在下面的输出中,我们看到小部件上放置了一个保存按钮。按保存按钮。

Python Tkinter save dialog box

Python Tkinter save dialog box Output

按下保存按钮后,会出现一个对话框,我们可以在其中保存文件。

Python Tkinter save dialog box1

Python Tkinter save dialog box1 Output

阅读: Python Tkinter 搜索框

Python Tkinter 保存文件路径

在这一节中,我们将学习如何在 Python Tkinter 中保存文件路径。

创建文件后,我们可以保存我们的文件。我们可以保存路径的文件被创建或者我们可以说我们的文件被保存在哪个位置,比如在 C / drive, E / drive,desktop。

代码:

在下面的代码中,我们在一个放置按钮的小部件中创建了一个小部件,单击按钮文件路径保存在文件所在的位置。

  • file dialog . askopenfilename()函数允许打开并返回文件路径。
  • 按钮()用于通过点击它们来搜索文件。
from tkinter import *
from tkinter import filedialog

def get_file_path():
    global file_path1

    file_path1= filedialog.askopenfilename(title = "Select A File", filetypes = (("Python files", "*.png"), ("mp4", "*.mp4"), ("wmv", "*.wmv"), ("avi", "*.avi")))
    l1 = Label(ws, text = "File path: " + file_path1).pack()

ws = Tk()
ws.title("Python Guides")
ws.geometry("200x200")

button = Button(ws, text = "openfile", command = get_file_path).pack(pady=10)
ws.mainloop()
print(file_path1)

输出:

运行上面的代码后,我们得到了下面的输出。我们看到一个小部件,其中放置了一个“openfile”按钮。

Python Tkinter save file path

Python Tkinter save file path Output

点击打开文件按钮后,我们得到一个对话框,在这里我们选择我们的文件并找到文件的路径。

Python Tkinter save file path1

Python Tkinter save file path1 Output

选择文件并点击打开后,文件路径将显示在小工具上。

Python Tkinter save file path2

Python Tkinter save file path2 Output

阅读: Python Tkinter 验证

Python Tkinter 保存条目

在本节中,我们将学习如何在 Python Tkinter 中保存条目。

条目是写在列表、日记中的对象,或者我们可以说是更新数据的某些内容。由于有一个用户名和密码的输入框,我们可以在此栏中输入数据。输入数据后我们可以保存我们输入的数据,保存后会自动更新。

代码:

在下面的代码中,我们创建了一个登录屏幕,在登录屏幕中有一个用户名和密码的输入窗口小部件,用户可以在其中输入他们的用户名和密码,然后单击提交按钮保存。

  • Label() 用于显示一个字段的文本或图像。
  • Entry() 用于获取用户输入。
  • 按钮()这将调用提交函数。
  • 。grid() 它管理标签、条目、按钮的几何图形。
from tkinter import *

ws=Tk()
ws.title("Python Guides")

ws.geometry("200x200")

name_variable=StringVar()
password_var=StringVar()

def submit():

	name=name_variable.get()
	password=password_var.get()

	print("The name is : " + name)
	print("The password is : " + password)

	name_variable.set("")
	password_var.set("")

name_label = Label(ws, text = 'Username', font=('calibre',10, 'bold'))

name_entry = Entry(ws,textvariable = name_variable, font=('calibre',10,'normal'))

password_label = Label(ws, text = 'Password', font = ('calibre',10,'bold'))

password_entry=Entry(ws, textvariable = password_var, font = ('calibre',10,'normal'), show = '*')

submit_button=Button(ws,text = 'Submit', command = submit)

name_label.grid(row=0,column=0)
name_entry.grid(row=0,column=1)
password_label.grid(row=1,column=0)
password_entry.grid(row=1,column=1)
submit_button.grid(row=2,column=1)

ws.mainloop() 

输出:

在下面的输出中,我们创建了一个登录屏幕。有一个用户名和密码块,用户可以在其中输入自己的名称和密码。

Python Tkinter save entry

Python Tkinter save entry Output

在这个输出中,我们看到用户可以输入他们的名字和密码。完成流程后,点击提交。

Python Tkinter save entry1

Python Tkinter save entry1 Output

点击提交按钮后,条目被保存并显示在命令提示符下。

Python Tkinter save entry2

Python Tkinter save entry2 Output

阅读: Python Tkinter 通断开关

Python Tkinter 保存按钮

在本节中,我们将学习 Python Tkinter 中的 save 按钮。

保存按钮用于保存用户创建的文件。只需点击保存按钮,我们就可以保存任何文件。

代码:

在下面的代码中,我们在放置按钮的小部件中创建了一个小部件。点击按钮,对话框打开,我们只需点击保存按钮即可保存文件。

asksaveasfile() 用于保存用户文件的函数。

按钮()这将调用提交函数。

from tkinter import *

from tkinter.filedialog import asksaveasfile

ws = Tk()
ws.title("Python Guides")
ws.geometry('200x150')

def save_button():
	files = [('All Files', '*.*'),
			('Python Files', '*.py'),
			('Text Document', '*.txt')]
	file = asksaveasfile(filetypes = files, defaultextension = files)

btn = Button(ws, text = 'Save', command = lambda : save_button())
btn.pack(side = TOP, pady = 20)

ws.mainloop() 

输出:

在下面的输出中,我们看到小部件中放置了一个保存按钮。我们点击保存按钮。

Python Tkinter save button

Python Tkinter save button Output

点击按钮后,会出现一个对话框选择我们想要保存的文件。选择文件后,点击保存按钮。

Python Tkinter save button1

Python Tkinter save button Output

阅读: Python Tkinter 笔记本 Widget

Python Tkinter 将输入保存到变量

在本节中,我们将学习如何在 Python Tkinter 中将输入保存到变量中。

在下面的代码中,我们在画布中创建了一个画布。我们创建了一个 lab1、lab2 和 entry 小部件,用户可以在其中输入内容并获得输出,以变量的形式保存。

代码:

  • Canvas() 我们可以在其中放置图形、文本或框架。
  • Label() 函数用于显示该字段的文本。
  • Entry() 用于接受来自用户的文本。
  • canvas.create_window ()用于在画布上新建一个画布窗口对象。
  • 按钮()用于调用提交功能。
from tkinter import *

ws = Tk()
ws.title("Python Guides")

canvas =Canvas(ws, width = 400, height = 300,  relief = 'raised')
canvas.pack()

lab1 =Label(ws, text='Calculate The Square Root')
lab1.config(font=('helvetica', 14))
canvas.create_window(200, 25, window=lab1)

lab2 =Label(ws, text='Enter the  Number:')
lab2.config(font=('helvetica', 10))
canvas.create_window(200, 100, window=lab2)

entry1 =Entry (ws) 
canvas.create_window(200, 140, window=entry1)

def get_SquareRoot ():

    a1 = entry1.get()

    lab3 =Label(ws, text= 'The Square Root of ' + a1 + ' is:',font=('helvetica', 10))
    canvas.create_window(200, 210, window=lab3)

    lab4 =Label(ws, text= float(a1)**0.5,font=('helvetica', 10, 'bold'))
    canvas.create_window(200, 230, window=lab4)

button = Button(text='Get the Square Root', command=get_SquareRoot, bg='brown', fg='white', font=('helvetica', 9, 'bold'))
canvas.create_window(200, 180, window=button)

ws.mainloop() 

输出:

在下面的输出中,我们看到画布内部有一个入口小部件,用户可以在其中输入数字。输入数字后,点击得到平方根按钮。

Python Tkinter save input to variable

Python Tkinter save the input to variable Output

点击按钮后,用户输入以平方根的形式保存为变量。

Python Tkinter save input to variable1

Python Tkinter save the input to variable1 Output

阅读: Python Tkinter 事件

Python Tkinter 保存画布图像

在这一节中,我们将学习如何在 Python Tkinter 中保存画布图像。

在下面的代码中,我们使用 PyQt5 库创建了一个画布形状。

  • 它是一个跨平台的 GUI 工具包,通过它,我们可以使用该库提供的简单工具开发交互式应用程序。
  • PyQt5 提供了一个工具 QtDesigner ,通过拖拽的方式帮助设计我们的前端,这有助于加快我们的开发速度。

代码:

  • PyQt5。QtWidgets 库帮助创建小部件。
  • PyQt5。QtGui 有助于使我们的应用程序成为 Gui 结构。
  • PyQt5。QtCore 用于设置 python 绑定。
from tkinter import *
import tkinter as tk
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import * 
import sys

class Window(QMainWindow):
	def __init__(self):
		super().__init__()

		title = "Python Guides"

		top = 300
		left = 300
		width = 700
		height = 500

		self.setWindowTitle(title)

		self.setGeometry(top, left, width, height)

		self.Image = QImage(self.size(), QImage.Format_RGB32)

		self.Image.fill(Qt.white)

		MainMenu = self.menuBar()

		fileMenu = MainMenu.addMenu("File")

		SaveAction = QAction("Save", self)

		SaveAction.setShortcut("Ctrl + S")

		fileMenu.addAction(SaveAction)

		SaveAction.triggered.connect(self.save)

		self.draw_something()

	def paintEvent(self, event):
		canvaspainter = QPainter(self)
		canvaspainter.drawImage(self.rect(), self.Image,
									self.Image.rect())

	def draw_something(self):

		painter = QPainter(self.Image)

		painter.setPen(QPen(Qt.black, 5, Qt.SolidLine,
							Qt.RoundCap, Qt.RoundJoin))

		painter.drawLine(100, 100, 300, 300)

		self.update()

	def save(self):

		# selecting file path
		filePath, _ = QFileDialog.getSaveFileName(self, "Save Image", "",
						"PNG(*.png);;JPEG(*.jpg *.jpeg);;All Files(*.*) ")

		if filePath == "":
			return

		self.Image.save(filePath)

if __name__ == "__main__":
	application = QApplication(sys.argv)
	ws = Window()
	ws.show()

	sys.exit(application.exec()) 

输出:

运行以下代码后,我们创建了一个简单的画布,我们可以将它视为输出。为此,我们使用了 PyQt5 库,并在其中导入了 QtWidgets、QtGui 和 Gtcore 库。在显示中,我们可以看到一个带有文件选项卡的菜单栏,它正在执行一个操作,将我们的绘图图像保存到。PNG 格式。

Python Tkinter save canvas image

Python Tkinter save canvas image Output

在这里,点击保存按钮后,将出现一个对话框,询问我们希望以哪个名称保存我们的图像,以及我们希望存储/保存在系统中的哪个位置。

Python Tkinter save canvas image1

Python Tkinter save canvas image 1 Output

你也可以阅读下面的 Tkinter 教程。

因此,在本教程中,我们讨论了 Python Tkinter 将文本保存到文件中,我们还讨论了不同的例子。这是我们已经讨论过的例子列表。

  • Python Tkinter 将文本保存到文件
  • Python Tkinter 保存文本对话框
  • Python Tkinter 保存文件路径
  • Python Tkinter 保存条目
  • Python Tkinter 保存按钮
  • Python Tkinter 将输入保存到变量
  • Python Tkinter 保存画布图像

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

python Tkinter Scale–详细教程

原文:https://pythonguides.com/python-tkinter-scale/

Python & Machine Learning training courses

在本 Python 教程中,我们将了解到 Python Tkinter Scale ,也称为 Python Tkinter Slide 。此外,我们还将讨论以下主题:

  • Python Tkinter 比例微件
  • Python Tkinter 纵向扩展 dpi
  • Python Tkinter 比例窗口
  • Python Tkinter scale 命令
  • Python Tkinter 比例命令=lambda
  • Python Tkinter 比例默认值
  • Python Tkinter 比例获取值

目录

Python Tkinter scale 微件

Python Tkinter 中的 Scale 小部件用于在应用程序上创建带有幻灯片的比例。此微件用于需要进行某些测量的应用中,使用 python Tkinter 比例尺的常见应用有:

  • 微软 Word
  • 写字板
  • 绘图工具
  • 音量混合器

下图显示了在所有版本的 Microsoft Windows 10 操作系统中都存在的 volume mixer 桌面应用程序中使用 scale 小部件。

Python Tkinter scale widget

Python Tkinter scale widget

Python Tkinter scale 可定向为垂直或水平格式。默认情况下,它设置为垂直方向。

语法:- 下面是在 Python Tkinter 中创建 scale 小部件的语法。

Scale(
    master=ws,
    from_=0,
    to=200,
    orient=HORIZONTAL

).pack(side=BOTTOM)

语法中的参数:-

  • master=ws :父或子窗口名
  • from_ :滑块的起始值
  • 到:滑块的结束值
  • 方向:方向可以是水平的,也可以是垂直的
  • pack() : pack 是几何图形管理器

python tkinter scale overview

Python Tkinter scale

还有,查: Python 数字猜谜游戏

Python Tkinter 纵向扩展 dpi

使用 Python Tkinter 创建应用程序时,如果您在微件上观察到模糊效果,则可以通过改变 dpi(每英寸点数)值来提高分辨率质量。

Python 的内置库 'ctypes' 提供了一个函数 SetProcessDpiAwareness(),它提高了 Python Tkinter 中屏幕分辨率的质量。

使用 Python Tkinter scale 小部件,我们可以创建一个基于 GUI 的交互式窗口,该窗口将接受用户输入来设置 dpi 值。

示例:-

在下面的例子中,我们创建了一个函数【scale up(val)】,这个函数用一个参数触发 SetProcessDpiAwareness()函数。

您可以使用 Python Tkinter 中的 get 函数获取 slider 或 scale 的值。我们已经将 scale.get()作为 SetProcessDpiAwareness 函数的参数进行了传递。现在,无论用户选择什么比例值,都将被赋予该功能。

请注意–scale up(val),这里的 val 只是一个参数,你需要传递它来使这个函数工作。

**# modules**
from tkinter import *
import ctypes

**# window**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')

**# function**
def scaleup(val):
    ctypes.windll.shcore.SetProcessDpiAwareness(`scale.get()`)

**# scale widget**
scale = Scale(
    ws,
    from_=0,
    to=1,
    length=200,
    orient=HORIZONTAL,
    command=scaleup,
    font=('sans-serif', 14)
)
scale.pack()

**# other widgets**
Label(ws, text='PythonGuides', font=('sans-serif', 20), pady=20).pack()
Button(ws, text='Click Here!', font=('sans-serif', 14)).pack()

**# infinite loop**
ws.mainloop()

输出:-

在下面的输出中,有两个标记为 1 和 2 的图像。第一幅图显示了默认输出,其中SetProcessDpiAwareness()函数的值设置为 0。

在下图中,SetProcessDpiAwareness()函数值设置为 1,您可以观察到窗口分辨率的提高。

Python tkinter scale up dpi

Python Tkinter scale-up dpi

阅读: Python Tkinter 过滤函数()

Python Tkinter 比例窗口

缩放窗口意味着当用户上下或左右滑动缩放小部件时,改变 Tkinter 窗口的大小。

窗口中的几何方法决定了 Tkinter 窗口的大小,它需要强制参数,如宽度和高度,除此之外,您还可以提供 x 和 y 坐标来定位应用程序。

以下是在 Python Tkinter 中配置窗口几何的语法:

ws.geometry('width x height + x + y')

Python tkinter scale window syntax

在这种语法中,所有文本都是一个字符串,并且有操作符(x,+)。我们必须对 scale 小部件做类似的事情。

将使用 get()函数获取比例值,然后这些值将被转换为带有运算符符号的字符串。您也可以使用格式化字符串来执行这些操作。

示例:-

在下面的例子中,我们创建了两个窗口(父窗口和子窗口),并且在父窗口上放置了一个滑块。用户可以使用滑块改变子窗口的大小。

scalewin(val) 是改变 win 窗口大小的函数,win 是 ws 的子窗口。

**# modules**
from tkinter import *

**# function**
def scalewin(val):
    **win.geometry(str(scale.get()) + 'x' + str(scale.get()))**

**# window**
ws = Tk()
ws.title('PythonGuides')

**# child window**
win = Toplevel(ws)
win.geometry()

**# scale widget**
scale = Scale(
    ws,
    from_= 100,
    to=1000,
    command=scalewin
)
scale.pack()

**# infinite loop**
ws.mainloop()

输出:-

在此输出中,窗口的大小随着缩放小部件上的滑块向上或向下移动而变化。

Python tkinter scale window

Python Tkinter scale window

在方法之后阅读: Python Tkinter

Python Tkinter scale 命令

scale 小部件中的命令选项用于触发功能。它可以是普通函数,也可以是匿名函数。

在本节中,我们将学习使用普通函数在 Python Tkinter 中使用 scale 微件的命令选项。

示例:-

在我们的例子中,我们已经创建了一个函数,它将返回 Python Tkinter 中的滑块位置。每次用户移动标尺上的滑块时,都会触发一个功能,在窗口上显示一条消息。

以下是 Python Tkinter 中最后一个示例中使用的 scale 小部件的概述:

scale = Scale(
    master = ws,
    from_ = 0,
    to=20,
    length=600,
    tickinterval=2,
    orient=HORIZONTAL,
    command = disp_val
)
scale.pack()
  • master=ws : widget 放置在名为 ws 的窗口上
  • from_=0 :刻度从 0 开始
  • 到=20 :刻度结束于 20
  • length=600 :标尺微件的长度
  • tickinterval=2 :刻度值将乘以 2 出现
  • 方向=水平:方向可以是水平或垂直
  • command = disp _ val:disp _ val 是每次在标尺上移动滑块时触发的功能名称。

以下是 Python Tkinter scale 命令的示例:

**# module**
from tkinter import *

**# function**
def disp_val(val):
    var.set(f'Slider is at {scale.get()}')

**# create window**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#93AEBF')

**# scale widget**
scale = Scale(
    master = ws,
    from_ = 0,
    to=20,
    length=600,
    tickinterval=2,
    orient=HORIZONTAL,
    command = disp_val
)
scale.pack()

**# variable with integer values only**
var = IntVar()

**# label widget to display selected number**
Label(
    ws,
    textvariable=var,
    font=('Times New Roman', 16)
).pack(side=BOTTOM)

**# infinite loop**
ws.mainloop() 

输出:-

在下面的输出中,当用户滑动 scale 小部件时,选定的数字会显示在窗口的底部。该数字会随着滑块值的变化而更新。

Python Tkinter scale command

Python Tkinter scale command

读: Python Tkinter messagebox

Python tkinter scale command = lambda

Lambda 函数是一个匿名函数,这意味着它可以在一行中编写,主要用于单次任务。

了解更多: Python 匿名函数(lambda 函数)

在我们的例子中,我们提到了下面的代码来创建 Python Tkinter scale command = lambda。

command=lambda val : var.set(scale.get()) 

代码片段解释:

  • 命令:触发功能的是 scale 小工具中的选项。
  • lambda val :这里的 val 是自变量,虽然在程序中没有用到,但是没有自变量代码就无法运行。
  • var.set(): 它会给标签设置值,这里 var 是代表标签的。
  • scale.get() :该命令将从 scale 小部件中获取选定的值。

下面是一个完整示例的实现:-

**# modules**
from tkinter import *

**# window** 
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#93AEBF')

**# scale widget**
scale = Scale(
    master = ws,
    from_ = 0,
    to=20,
    length=600,
    tickinterval=2,
    orient=HORIZONTAL,
    **command=lambda val : var.set(scale.get())** 
)
scale.pack()

**# variable with integer value only**
var = IntVar()

**# label widget to display output**
Label(
    ws,
    textvariable=var,
    font=('Times New Roman', 16)
).pack(side=BOTTOM)

**# infinite loop**
ws.mainloop() 

输出:-

输出与上一节类似,只是这次是使用 Python Tkinter 中的 lambda 函数执行的。

Python Tkinter scale command

Python Tkinter scale command

阅读: Python Tkinter Spinbox

Python Tkinter 比例默认值

Python Tkinter 比例微件允许在 Tkinter 微件上创建带有滑块的比例。根据窗口的方向,用户可以左右滑动或上下滑动。

Python Tkinter scale 默认值表示每次执行程序时都会显示一个特定的值。默认情况下,标尺将起始值设置为默认值,但可以使用标尺变量上的 set() 函数进行更改。

**# module**
from tkinter import *

**# window**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('600x200')

**# variable with integer values only**
var = IntVar()

**# set scale default value as 50**
var.set(50)

**# scale widget**
Scale(
    ws,
    label='Scale',
    tickinterval=5,
    variable=var,
    from_=10,
    to=100,
    length=500,
    orient=HORIZONTAL
).pack()

**# infinite loop**
ws.mainloop()

输出:-

因为我们已经将 scale 小部件的默认值设置为 50,所以每次执行程序时,滑块都会默认放置在 50 上。

Python Tkinter scale default value

Python Tkinter scale default value

阅读: Python Tkinter 搜索框

Python Tkinter scale 获取值

Python Tkinter scale 中的 Get 方法用于获取小数位数的值。它将返回滑块当前所在的当前值。

创建标尺或滑块后,如果程序不使用用户选择的值来执行某个操作,则没有意义。

在这个例子中,我们创建了一个应用程序来显示标尺上滑块的当前位置。为此,我们使用了缩放、标签和按钮小部件。

使用 scale.get() 我们获取滑块当前位置的值,并基于该信息为

from tkinter import *

def showval(val):
    if `scale.get()` == 1:
        ws.config(bg='#7AB3BF')
    elif `scale.get()` == 2:
        ws.config(bg='#868C54')
    elif `scale.get()` == 3:
        ws.config(bg='#F2EFEB')
    elif `scale.get()` == 4:
        ws.config(bg='#8C7484')
    elif `scale.get()` == 5:
        ws.config(bg='#0487D9')
    elif `scale.get()` == 6:
        ws.config(bg )
    else:
        ws.config(bg='#BF4C41')

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200')

scale = Scale(
    ws,
    from_=0,
    to=10,
    length=200,
    orient=HORIZONTAL,
    command=showval
)
scale.pack(side=BOTTOM)

ws.mainloop()

输出:-

在此输出中,窗口的背景颜色随着 scale 小部件上滑块值的变化而变化。

Python tkinter scale get value

Python Tkinter scale get value

您可能也想阅读下面的 Python Tkinter 教程。

在本教程中,我们学习了 Python Tkinter Scale ,它也被称为 Python Tkinter Slide 。此外,还涵盖了以下主题:

  • Python Tkinter 比例尺
  • python Tkinter 纵向扩展 dpi
  • Python Tkinter 比例窗口
  • Python Tkinter 比例微件
  • Python Tkinter scale 命令
  • Python tkinter 比例命令=lambda
  • Python Tkinter 比例默认值
  • Python Tkinter 比例获取值

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 滚动条–如何使用

原文:https://pythonguides.com/python-tkinter-scrollbar/

Python & Machine Learning training courses

在这个 Python tkinter 教程中,我们将学习 Python Tkinter 滚动条。此外,我们还将讨论以下主题:

  • Python Tkinter 滚动条
  • Python Tkinter 滚动条网格
  • Python Tkinter 滚动条框架
  • Python Tkinter 滚动条画布
  • Python Tkinter 滚动条文本框
  • Python Tkinter 滚动条不起作用
  • Python Tkinter 滚动条文本微件
  • Python Tkinter 滚动条方向

目录

Python Tkinter 滚动条

Python Tkinter 中的滚动条是一个小部件,其中连续的文本、图片或任何其他多媒体内容可以在计算机窗口屏幕上以预定的方向(水平或垂直)滚动。

  • 当内容超出屏幕方向时,滚动条会被添加,这样用户就可以从左右或上下方向导航到看不见的内容。
  • 在 Python 中,Tkinter 小部件使用布局管理器来定位,如 Place()、Grid()和 Pack() 。我们可以使用这些布局管理器在应用程序窗口上定位滚动条小部件。

Python Tkinter 中滚动条的语法

  • 在这个语法中, ws 是我们想要放置滚动条的主屏幕。 Orient 决定滚动条是垂直还是水平
  • 我们使用的布局管理器是 Pack()
  • 一旦我们成功地创建了滚动条部件,现在是时候把它应用到一个部件上了。这是一个重要的步骤,因为它将滚动条与应用程序中的特定小部件绑定在一起。
  • 例如,在电子邮件应用程序中,当内容超出文本小部件的方向时,我们只能在文本区域看到滚动条。
  • 在将滚动条与其他应用程序绑定时,我们通过在 scollcommand 中传递 X 或 Y 来指定滚动方向。第 11、12 行的代码显示了绑定代码。
# creating and placing scrollbar
sb = Scrollbar(
    ws,
    orient=VERTICAL
)
sb.pack()

# binding scrollbar with other widget (Text, Listbox, Frame, etc)

<other_widget>.config(yscrollcommand=sb.set)
sb.config(command=<other_widget>.yview) 

这里是 Python Tkinter 中滚动条的预览。该图显示了垂直滚动条。

python tkinter scrollbar on frame

Scrollbar in Python Tkinter

阅读: Python tkinter 标签–如何使用

Python Tkinter 滚动条网格

Python Tkinter 中的网格是一个布局管理器,它以行列格式组织小部件。 x 轴上的一切都是行, y 轴上的一切都是列。

  • 在本节中,我们将学习如何使用 Python Tkinter 中的网格布局管理器在文本小部件上添加滚动条。
  • 策略是我们将文本小部件和滚动条小部件放置在文本小部件的 row=0 和 column=0 处,滚动条小部件的 column=1 处。通过这种方式,两个小部件看起来是相互平行的(第 19、27 行)。
  • 通过使用 sticky 我们将在南北方向拉伸滚动条(第 27 行)。
  • 最后,我们将滚动条与文本框小部件绑定在一起(第 29,30 行)
  • 注意:文本小部件可以被任何小部件替换。

下面是使用网格的滚动条的实现

在这段代码中,我们使用文本框小部件创建了一个文本编辑器,如果字数超过了文本小部件的方向,就会出现滚动条。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#5F734C')

frame = Frame(
    ws,
    bg='#A8B9BF'
    )

text_box = Text(
    ws,
    height=13,
    width=32, 
    font=(12)  
)

text_box.grid(row=0, column=0)
text_box.config(bg='#D9D8D7')

sb = Scrollbar(
    ws,
    orient=VERTICAL
    )

sb.grid(row=0, column=1, sticky=NS)

text_box.config(yscrollcommand=sb.set)
sb.config(command=text_box.yview)

ws.mainloop()

下面是上面代码的输出

在这个输出中,您可以看到在单词开始超过文本框大小时,滚动条立即开始出现。

python tkinter scrollbars using grid

Python Tkinter Scrollbar

阅读:Python Tkinter Entry–如何使用

Python Tkinter 滚动条框架

Python Tkinter 中的滚动条可应用于框架,帮助用户水平或垂直滚动屏幕。

  • 在屏幕上输入所有文本并不总是可能的。因为这将妨碍内容的可读性,而且在屏幕上也很难看。
  • 为了解决这个问题,引入了滚动条。现在用户只需滚动滚动条就可以访问大量的文本信息。
  • 在框架上应用滚动条是最简单也是最好的方法。只需将两者(滚动条和其他部件)放入框架窗口中,然后将它们打包到相反的方向。
  • 例如,把滚动条放在右边,把其他部件放在左边。
  • 下面是 Python Tkinter 中框架小部件上滚动条的实现。

在 Python Tkinter 中展示在框架 上实现滚动条的完整代码

在这段代码中,我们在 Python Tkinter 的框架中放置了滚动条和文本框小部件。然后,通过使用包布局管理器,我们已经定位到右边的滚动条和左边的文本框。这可以在第 19 行和第 27 行中看到。最后,我们将滚动条和文本框绑定在一起,代码在第 29,30 行

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#5F734C')

frame = Frame(
    ws,
    bg='#A8B9BF'
    )

text_box = Text(
    ws,
    height=13,
    width=32, 
    font=(12)  
)
text_box.pack(side=LEFT,expand=True)
text_box.config(bg='#D9D8D7')

sb_ver = Scrollbar(
    ws,
    orient=VERTICAL
    )

sb_ver.pack(side=RIGHT, fill=Y)

text_box.config(yscrollcommand=sb_ver.set)
sb_ver.config(command=text_box.yview)

ws.mainloop()

上面代码的输出显示了 Python Tkinter 中滚动条在框架上的实现

在这个输出中,滚动条被标记在右边。滚动滚动条将显示文本框中的文本。

Python Tkinter Scrollbar Frame

Python Tkinter Scrollbar Frame

阅读: Python Tkinter 按钮–如何使用

Python Tkinter 滚动条画布

画布是一个可以画图表的自由空间。除了绘图,我们还可以在上面放置图形和小部件(框架,文本框,按钮等)。

  • 在这一节中,我们将学习如何在画布上添加滚动条。此外,我们将创建一个应用程序来演示画布上的 Python Tkinter 滚动条。
  • Canvas 用于在程序中创建一个 canvas 小部件,后跟您想要放置它的窗口的名称。另外,提供画布窗口的宽度和高度。
Canvas(
    ws,
    width=500,
    height=400,
    )
  • 我们已经创建了一个框架,并在框架内放置了画布和滚动条小部件。
  • 然后我们用画布绑定两个滚动条(水平和垂直)

。这里是 Python Tkinter Scrollbar Canvas 的完整源代码。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')

frame = Frame(
    ws,
    width=500,
    height=400
    )
frame.pack(expand=True, fill=BOTH)

canvas=Canvas(
    frame,
    bg='#4A7A8C',
    width=500,
    height=400,
    scrollregion=(0,0,700,700)
    )

vertibar=Scrollbar(
    frame,
    orient=VERTICAL
    )
vertibar.pack(side=RIGHT,fill=Y)
vertibar.config(command=canvas.yview)

horibar=Scrollbar(
    frame,
    orient=HORIZONTAL
    )
horibar.pack(side=BOTTOM,fill=X)
horibar.config(command=canvas.xview)

canvas.config(width=500,height=400)

canvas.config(
    xscrollcommand=horibar.set, 
    yscrollcommand=vertibar.set
    )
canvas.pack(expand=True,side=LEFT,fill=BOTH)

ws.mainloop()

下面是上面代码在画布上实现 Python Tkinter 滚动条 的输出

python tkinter scrollbar using canvas

Python Tkinter Scrollbar Canvas

阅读: Python Tkinter 单选按钮–如何使用

Python Tkinter 滚动条文本框

在本节中,我们在文本小部件上应用了滚动条。这个程序的输出看起来类似于 Python Tkinter 滚动条框架

  • Python Tkinter scroll bar Frame中,我们已经在框架小部件上应用了滚动条,但这里我们将直接在文本小部件上应用它。
  • 我们在 Python Tkinter 中创建了一个文本小部件,并将其打包到左侧。然后,我们创建了一个滚动条部件,并将其打包到右侧。
  • 使用的布局管理器是 Pack()代码出现在行的第 15、23 行
from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F25252')

frame = Frame(ws)

text_box = Text(
    ws,
    height=13,
    width=32, 
    font=(12)  
)

text_box.pack(side=LEFT,expand=True)

sb_ver = Scrollbar(
    ws,
    orient=VERTICAL
    )

sb_ver.pack(side=RIGHT, fill=Y)

text_box.config(yscrollcommand=sb_ver.set)
sb_ver.config(command=text_box.yview)

ws.mainloop()

下面是上面代码的输出,它实现了文本小部件上的滚动条

在这个输出中,您可以看到文本显示在文本框中,并且滚动条出现在窗口的右侧。

python tkinter scrollbar on textbox

Python Tkinter Scrollbar Text box

阅读: Python Tkinter 窗口大小

Python Tkinter 滚动条不工作

在本节中,我们将看到滚动条不起作用的可能原因。此外,我们将讨论在 Python Tkinter 中实现滚动条时的常见错误及其修复。

  • 缺少布局管理器:如果您没有在屏幕上看到滚动条,首先要检查滚动条部件是否使用布局管理器(pack,grid,place)定位。
  • 看起来很小:如果 Python Tkinter 中的滚动条看起来很小
    • 如果您使用的是网格布局管理器,使用粘性并将滚动条设置为 NS 垂直滚动条和 EW 水平滚动条。
    • 如果你正在使用 Pack 布局管理器,使用 fill=X 用于水平滚动条,使用 fill=Y 用于垂直滚动条。

Python Tkinter 滚动条文本小工具

在本节中,我们已经在文本小部件上应用了滚动条。这个程序的输出看起来类似于 Python Tkinter 滚动条框架

  • Python Tkinter scroll bar Frame中,我们已经在框架小部件上应用了滚动条,但这里我们将直接在文本小部件上应用它。
  • 我们在 Python Tkinter 中创建了一个文本小部件,并将其打包到左侧。然后,我们创建了一个滚动条部件,并将其打包到右侧。
  • 使用的布局管理器是 Pack() 代码出现在行 15、23 上。

这里是在文本小部件上实现滚动条的完整代码

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#F25252')

text_box = Text(
    ws,
    height=13,
    width=32, 
    font=(12)  
)

text_box.pack(side=LEFT,expand=True)

sb_ver = Scrollbar(
    ws,
    orient=VERTICAL
    )

sb_ver.pack(side=RIGHT, fill=Y)

text_box.config(yscrollcommand=sb_ver.set)
sb_ver.config(command=text_box.yview)

ws.mainloop()

下面是上面代码的输出,它实现了文本小部件上的滚动条

在这个输出中,您可以看到文本显示在文本框中,并且滚动条出现在窗口的右侧。

python tkinter scrollbar on textbox

Python Tkinter Scrollbar Text Widget

阅读: Python Tkinter 画布教程

Python Tkinter 滚动条定向

Python Tkinter 中的 Scrollbar 提供了一个 Orient 选项,使用它我们可以将滚动条调整到水平到垂直的位置。

  • 滚动条可以应用在文本框、框架、列表框等小部件上。该要求可以是垂直滚动条,水平滚动条,或两者兼而有之。
  • 要应用滚动条,应用以下命令。这里 lb 是列表框的变量, sb 是分配给滚动条的变量。
lb.configure(yscrollcommand=sb.set)
sb.config(command=lb.yview)

Python Tkinter 中垂直方向滚动条的代码

在这段代码中,我们将滚动条的方向设置为垂直,现在用户可以上下滚动来访问内容。该代码可在第 19 行找到。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#4A7A8C')

frame = Frame(ws)
frame.pack(expand=True, fill=BOTH, padx=20, pady=20)

lb = Listbox(
    frame,
    font= (12)
    )
lb.pack(expand=True, fill=BOTH, side=LEFT)

sb = Scrollbar(
    frame, 
    orient=VERTICAL
    )
sb.pack(fill=Y, side=RIGHT)

lb.configure(yscrollcommand=sb.set)
sb.config(command=lb.yview)

lb.insert(0, 'Fruits')
lb.insert(1,'Citrus – oranges, limes, grapefruits and mandarins')
lb.insert(2,'Stone fruit – apricots, plums, peaches and nectarines')
lb.insert(3,'Tropical and exotic – mangoes a bananasnd ')
lb.insert(4,'Berries – kiwifruit, raspberries, strawberries, blueberries,  and passionfruit')
lb.insert(5,'Melons – honeydew melons, watermelons and rockmelons')
lb.insert(6, 'Vegetables')
lb.insert(7, 'Leafy green – spinach and silverbeet, lettuce')
lb.insert(8, 'Cruciferous – cabbage, broccoli, Brussels sprouts and cauliflower')
lb.insert(9, 'Marrow – zucchini, cucumber and pumpkin')
lb.insert(10, 'Root – yam, sweet potato and potato')
lb.insert(11, 'Edible plant stem – asparagus and celery')
lb.insert(12, 'Allium – garlic, onion and shallot')

ws.mainloop()

Python Tkinter 中垂直方向滚动条的代码。

在这个输出中,我们创建了一个垂直方向的滚动条。如果文本大于文本容纳小工具的边距,滚动条将开始出现。这样,用户可以上下滚动来访问文本。

python tkinter scrollbar orient vertical

Python Tkinter Scrollbar Orient

Python Tkinter中水平方向滚动条的代码

在这段代码中,我们在 Python Tkinter 中创建了一个水平滚动条。在第 19 行,您可以看到我们已经将滚动条的方向设置为水平。

from tkinter import *

ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x300')
ws.config(bg='#4A7A8C')

frame = Frame(ws)
frame.pack(expand=True, fill=BOTH, padx=20, pady=20)

lb = Listbox(
    frame,
    font= (12)
    )
lb.pack(expand=True, fill=BOTH)

sb = Scrollbar(
    frame, 
    orient=HORIZONTAL
    )
sb.pack(fill=X)

lb.configure(xscrollcommand=sb.set)
sb.config(command=lb.xview)

lb.insert(0, 'Not all heros wear capes.')
lb.insert(1, 'Game changers are in blue')
lb.insert(2, 'With great power comes great responsibility')
lb.insert(3, 'A noun phrase has a noun or pronoun as the main word')
lb.insert(4, 'With great power comes great responsibility')
lb.insert(5, 'contribute to open source, as this will help & motivate you.')

ws.mainloop()

Python Tkinter 中水平方向滚动条的输出

在这个输出中,我们将滚动条的方向设置为水平。用户现在可以左右滚动来查看内容。

text_box.config(yscrollcommand=sb.set)
sb.config(command=text_box.yview)

您可能会喜欢以下 Python tkinter 教程:

在本教程中,我们已经讨论了关于 Python Tkinter 滚动条的所有内容和以下几点:

  • Python Tkinter 滚动条网格
  • Python Tkinter 滚动条框架
  • Python Tkinter 滚动条画布
  • Python Tkinter 滚动条鼠标滚轮
  • Python Tkinter 滚动条不起作用
  • Python Tkinter 滚动条文本微件
  • Python Tkinter 滚动条方向

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 搜索框

原文:https://pythonguides.com/python-tkinter-search-box/

Python & Machine Learning training courses

在本 Python Tkinter 教程中,我们将讨论 **Python Tkinter 搜索框。在这里,我们将学习如何在 Python Tkinter 中创建一个搜索框,我们还将介绍与 Tkinter 搜索框相关的不同示例。并且,也涵盖这些话题。**

  • Python Tkinter 搜索框
  • Python Tkinter 搜索按钮
  • Python Tkinter 搜索文本
  • Python Tkinter 列表框搜索
  • Python Tkinter 树视图搜索
  • Python Tkinter 组合框搜索
  • Python Tkinter 搜索文件

目录

Python Tkinter 搜索框

在这一节中,我们将学习如何在 Python Tkinter 中创建搜索框。

搜索框是接受用户输入的搜索字段。用户在搜索框中输入他们想要搜索的文本或字母。

代码:

在下面的代码中,我们创建了一个小部件,在这个小部件中我们创建了一个用于查找文本的搜索 查找按钮

  • Label() 用于显示一个字段的文本或图像。
  • 按钮()用于单击搜索文本。
  • txt.insert() 用于在文本字段中插入一些文本。
  • txt.search() 用于搜索文本。
from tkinter import *

ws = Tk()
Frm = Frame(ws)
Label(Frm,text='Enter Word to Find:').pack(side=LEFT)
modify = Entry(Frm)

modify.pack(side=LEFT, fill=BOTH, expand=1)

modify.focus_set()

buttn = Button(Frm, text='Find')
buttn.pack(side=RIGHT)
Frm.pack(side=TOP)

txt = Text(ws)

txt.insert('1.0','''Enter here...''')
txt.pack(side=BOTTOM)

def find():

	txt.tag_remove('found', '1.0', END)
	ser = modify.get()
	if ser:
		idx = '1.0'
		while 1:
			idx = txt.search(ser, idx, nocase=1,
							stopindex=END)
			if not idx: break
			lastidx = '%s+%dc' % (idx, len(ser))

			txt.tag_add('found', idx, lastidx)
			idx = lastidx
		txt.tag_config('found', foreground='blue')
	modify.focus_set()
buttn.config(command=find)

ws.mainloop() 

输出:

在下面的输出中,我们看到用户输入文本并单击 Find 按钮。点击后,他们找到他们想要搜索的文本。

Python Tkinter search box

Python Tkinter search box

阅读: Python Tkinter 通断开关

Python Tkinter 搜索按钮

在本节中,我们将学习如何在 Python Tkinter 中创建一个搜索按钮。

“搜索”按钮用于提交搜索。用户在搜索框中输入文本。输入文本后,点击搜索按钮提交他们的搜索,并找到他们想要的文本。

代码:

在下面的代码中,我们创建了一个窗口 ws=Tk(),在这个窗口中我们创建了一个标签 button。

Label() 用来显示一个字段的文本。
按钮()用于提交文本。
txt.insert() 用于在文本字段中插入一些文本。
txt.search() 用于搜索文本。

from tkinter import *

ws = Tk()
Frm = Frame(ws)
Label(Frm,text='Enter to search:').pack(side=LEFT)
modify = Entry(Frm)

modify.pack(side=LEFT, fill=BOTH, expand=1)

modify.focus_set()

buttn = Button(Frm, text='Search')
buttn.pack(side=RIGHT)
Frm.pack(side=TOP)

txt = Text(ws)

txt.insert('1.0','''Enter Text here...''')
txt.pack(side=BOTTOM)

def find():

	txt.tag_remove('found', '1.0', END)
	ser = modify.get()
	if ser:
		idx = '1.0'
		while 1:
			idx = txt.search(ser, idx, nocase=1,
							stopindex=END)
			if not idx: break
			lastidx = '%s+%dc' % (idx, len(ser))

			txt.tag_add('found', idx, lastidx)
			idx = lastidx
		txt.tag_config('found', foreground='blue')
	modify.focus_set()
buttn.config(command=find)

ws.mainloop() 

输出:

运行这段代码后,我们得到以下输出,其中我们看到用户输入了文本。输入文本后,点击搜索按钮提交搜索并找到他们想要的文本。

Python Tkinter search button

Python Tkinter search button Output

阅读: Python Tkinter 验证示例

Python Tkinter 搜索文本

在本节中,我们将学习如何在 Python Tkinter 中搜索文本。

搜索文本是在段落之间查找文本。用户在搜索框中输入他们想要搜索的文本,然后单击搜索按钮。点击按钮后,用户得到他们搜索的文本。

代码:

在下面的代码中,我们创建了一个窗口,在这个窗口中我们添加了一个搜索框和搜索按钮来搜索文本。

from tkinter import *

ws = Tk()
Frm = Frame(ws)
Label(Frm,text='Enter Word to Find:').pack(side=LEFT)
modify = Entry(Frm)

modify.pack(side=LEFT, fill=BOTH, expand=1)

modify.focus_set()

buttn = Button(Frm, text='Find')
buttn.pack(side=RIGHT)
Frm.pack(side=TOP)

txt = Text(ws)

txt.insert('1.0','''English comprehension passage is the good test of your language skills. The questions in the reading comprehension exercise are mostly inference based...''')
txt.pack(side=BOTTOM)

def find():

	txt.tag_remove('found', '1.0', END)
	ser = modify.get()
	if ser:
		idx = '1.0'
		while 1:
			idx = txt.search(ser, idx, nocase=1,
							stopindex=END)
			if not idx: break
			lastidx = '%s+%dc' % (idx, len(ser))

			txt.tag_add('found', idx, lastidx)
			idx = lastidx
		txt.tag_config('found', foreground='blue')
	modify.focus_set()
buttn.config(command=find)

ws.mainloop()

输出:

运行以下代码后,我们得到以下输出,其中用户在搜索框中输入文本。点击搜索按钮后,我们得到用户想要的文本。

Python Tkinter search text

Python Tkinter search text Output

阅读: Python Tkinter 笔记本 Widget

Python Tkinter 列表框搜索

在本节中,我们将学习如何在 Python Tkinter 中创建列表框搜索。

Listbox 用于向用户显示项目列表。并允许用户从列表中选择项目。用户在项目的列表框内单击以选择它。

代码:

在下面的代码中,我们创建了一个向用户显示项目列表的窗口。并创建一个入口小部件来输入要搜索的列表项。

Entry() 用于从列表框中输入要搜索的列表项。

from tkinter import *

def Scankey(event):

	val = event.widget.get()
	print(val)

	if val == '':
		data = list
	else:
		data = []
		for item in list:
			if val.lower() in item.lower():
				data.append(item)				

	Update(data)

def Update(data):

	listbox.delete(0, 'end')

	# put new data
	for item in data:
		listbox.insert('end', item)

list = ('C','C++','Java',
	'Python','Perl',
	'PHP','ASP','JS' )

ws = Tk()

entry = Entry(ws)
entry.pack()
entry.bind('<KeyRelease>', Scankey)

listbox = Listbox(ws)
listbox.pack()
Update(list)

ws.mainloop()

输出:

在下面的输出中,我们看到了向用户显示项目列表的列表框。当用户想要从列表中搜索项目时。用户在搜索栏中输入项目名称,他们想要搜索的项目就会出现在顶部。

Python Tkinter Listbox search

Python Tkinter Listbox search Output

阅读: Python Tkinter 事件

Python Tkinter 树形视图搜索

在本节中,我们将学习如何在 Python Tkinter 中创建一个树形视图搜索

Treeview 指的是分层表示。它改善了数据列的外观。在t inter 树形视图搜索中,我们想要搜索出现在这个树形视图中的名字。用户在搜索框中输入姓名,如果姓名出现在顶部的树形视图中,则单击搜索按钮。

代码:

在下面的代码中,我们创建了学生表和搜索框之间的连接。

  • conn = connect("data1.db") 创建打开的数据库。
  • curs = conn.cursor() 创建游标(将用户连接到数据库)。
  • curs.execute(db1) 在插入了我们想要执行的数据后。
  • conn.commit() 保存插入数据库的数据。
  • conn.rollback() 返回对数据库所做的最后更改。
from tkinter import *
from tkinter import ttk
from tkinter.messagebox import *
from sqlite3 import *

ws = Tk()                       
ws.title("Python Guides")        
ws.geometry("750x700+400+50")  
ws.resizable(0, 0)            
view_window      

conn = None

conn = connect("data1.db")

curs = conn.cursor()

db = "create table student(rno int primary key, name text)"
curs.execute(db)

if conn is not None:
    conn.close()    

conn = None

conn = connect("data1.db")

curs = conn.cursor()

db1 = "insert into student values(1,'Pauline')"
db2 = "insert into student values(2,'Dexter')"
db3 = "insert into student values(3,'Melba')"
db4 = "insert into student values(4,'Roxanne')"
db5 = "insert into student values(5,'Mary')"
db6 = "insert into student values(6,'Andrew')"
db7 = "insert into student values(7,'Renata')"

curs.execute(db1)
curs.execute(db2)
curs.execute(db3)
curs.execute(db4)
curs.execute(db5)
curs.execute(db6)
curs.execute(db7)

conn.commit()

if conn is not None:
    conn.close()

def show():
    ws_ent.delete(0, END)     
    ws_ent.focus()
    treeview.selection()
    conn = None
    try:
        conn = connect("data1.db")    
        cursor = conn.cursor()
        db = "select * from student"   
        cursor.execute(db)

        fetchdata = treeview.get_children()       
        for elements in fetchdata:
            treeview.delete(elements)

        data = cursor.fetchall()
        for d in data:
            treeview.insert("", END, values=d)

        conn.commit()
    except Exception as e:
        showerror("Fail", e)
        conn.rollback()
    finally:
        if conn is not None:
            conn.close()
def search():
    treeview.selection()
    fetchdata = treeview.get_children()
    for f in fetchdata:
        treeview.delete(f)
    conn = None
    try:
        conn = connect("data1.db")
        core = conn.cursor()
        db = "select * from student where name = '%s' "
        name = ws_ent.get()
        if (len(name) < 2) or (not name.isalpha()):
            showerror("fail", "invalid name")
        else:
            core.execute(db %(name))
            data = core.fetchall()
            for d in data:
                treeview.insert("", END, values=d)

    except Exception as e:
        showerror("issue", e)

    finally:
        if conn is not None:
            conn.close()
def reset():
    show()  

scrollbarx = Scrollbar(ws, orient=HORIZONTAL)  
scrollbary = Scrollbar(ws, orient=VERTICAL)    
treeview = ttk.Treeview(ws, columns=("rollno", "name"), show='headings', height=22)  
treeview.pack()
treeview.heading('rollno', text="Roll No", anchor=CENTER)
treeview.column("rollno", stretch=NO, width = 100) 
treeview.heading('name', text="Name", anchor=CENTER)
treeview.column("name", stretch=NO)
scrollbary.config(command=treeview.yview)
scrollbary.place(x = 526, y = 7)
scrollbarx.config(command=treeview.xview)
scrollbarx.place(x = 220, y = 460)
style = ttk.Style()
style.theme_use("default")
style.map("Treeview")

ws_lbl = Label(ws, text = "Name", font=('calibri', 12, 'normal'))
ws_lbl.place(x = 290, y = 518)
ws_ent = Entry(ws,  width = 20, font=('Arial', 15, 'bold'))
ws_ent.place(x = 220, y = 540)
ws_btn1 = Button(ws, text = 'Search',  width = 8, font=('calibri', 12, 'normal'), command = search)
ws_btn1.place(x = 480, y = 540)
ws_btn2 = Button(ws, text = 'Reset',  width = 8, font=('calibri', 12, 'normal'), command = reset)
ws_btn2.place(x = 600, y = 540)

show()  
ws.mainloop() 

输出:

在下面的输出中,我们看到用户在搜索框中输入他们想要搜索的名字。输入姓名后,单击搜索按钮。点击它们后,名称会显示在顶部,然后再次重置并搜索另一个。

Python Tkinter Treeview

Python Tkinter Treeview Output

阅读: Python Tkinter 列表框

Python Tkinter 组合框搜索

在这一节中,我们将学习如何在 Python Tkinter 中创建一个 Combobox 搜索。

组合框定义为下拉列表或列表框。我们可以键入要搜索的项目名称,也可以直接从下拉列表菜单中选择项目。

语法:

combo = Combobox(master,option=value)

代码:

在下面的代码中,我们使用了。ttk 导入组合框库,用于导入组合框列表

  • Entry() 用户可以在 entrybox 中输入条目。他们想从组合框中搜索。
  • 按钮()用于提交文本。
from tkinter import *
from tkinter.ttk import Combobox

ws = Tk()
ws.title("Python Guides")
ws.geometry("200x200")

def search_items():
    search_value = variable.get()
    if search_value == "" or search_value == " ":
        combo['values'] = item_names
    else:
        value_to_display = []
        for value in item_names:
            if search_value in value:
                value_to_display.append(value)
        combo['values'] = value_to_display

item_names = list([str(a) for _ in range(100) for a in range(10)])

combo = Combobox(ws, state='readonly')
combo['values'] = item_names
combo.pack()

variable=StringVar()
entry1 = Entry(ws, textvariable=variable)
entry1.pack()

button = Button(ws, text="search", command=search_items)
button.pack()

ws.mainloop()

输出:

在下面的输出中,我们看到用户单击他们想要选择的项目的组合框。所选项目显示在输入框中。

Python Tkinter Combobox search

Python Tkinter Combobox search

我们还在输入框中输入我们想要搜索的项目。如本图所示,用户输入商品并点击搜索按钮。

Python Tkinter combobox search1

Python Tkinter Combobox search1

点击 search 按钮后,用户从 Combobox 中获取项目。

Python Tkinter Combobox search2

Python Tkinter Combobox search2

读: Python Tkinter messagebox

Python Tkinter 搜索文件

在本节中,我们将学习如何在 Python Tkinter 中创建搜索文件选项。

搜索文件是用于搜索存储在指定类别中的重要文件的选项。通过点击按钮。

代码:

在下面的代码中,我们创建了一个窗口 ws = Tk() 在这个窗口中,我们添加了一个带有文本“选择文件”的按钮。通过点击按钮,我们到达搜索文件位置并搜索文件。

  • filedialog.askopenfile() 函数显示对话框,允许用户选择文件并返回用户选择的文件。
  • lambda 函数只有一个表达式。
from tkinter import *
from tkinter import filedialog
ws = Tk()
ws.title("Python Guides")
ws.geometry('200x200')

def ask_to_open_file():
   display = filedialog.askopenfile(initialdir="/")
   print(display)
   for j in display:
      print(j)

button = Button(ws, text ='Select file', command = lambda:ask_to_open_file())
button.pack(pady=10)
ws.mainloop()

输出:

运行这段代码后,我们得到以下输出,我们看到一个按钮被放置在小部件上。要搜索文件,我们单击“选择文件”按钮。

Python Tkinter search file

Python Tkinter search file

点击按钮后,对话框打开,我们可以在其中搜索我们需要的文件,并选择打开文件。

Python Tkinter search file1

Python Tkinter search file1

单击 open 后,我们会看到命令提示符中显示的文件内的文本以及保存文件的位置。

Python Tkinter search file2

Python Tkinter search file2

你也可以阅读下面的 Tkinter 教程。

因此,在本教程中,我们讨论了 Python Tkinter 搜索框,并且我们还涵盖了与其实现相关的不同示例。这是我们已经讨论过的例子列表。

  • Python Tkinter 搜索框
  • Python Tkinter 搜索按钮
  • Python Tkinter 搜索文本
  • Python Tkinter 列表框搜索
  • Python Tkinter 树视图搜索
  • Python Tkinter 组合框搜索
  • Python Tkinter 搜索文件

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

Python Tkinter 分隔符+示例

原文:https://pythonguides.com/python-tkinter-separator/

Python & Machine Learning training courses

在这个 Python 教程中,我们将学习如何使用 Python Tkinter Separator 小部件。此外,我们还将讨论以下主题:

  • Python Tkinter 分隔符
  • Python Tkinter 分隔符网格
  • Python Tkinter 分隔符示例
  • Python Tkinter 分隔符颜色
  • Python Tkinter 分隔符宽度
  • Python Tkinter 菜单添加分隔符
  • Python Tkinter 帧分隔符
  • Python Tkinter 垂直分隔符

目录

Python Tkinter 分隔符

编写一个具有良好表现的软件是很重要的,因为这样可以节省用户的时间,最终有助于软件的普及。 Python Tkinter 分隔符用于对同一屏幕或窗口上的小工具进行分组。

这样,所有的窗口小部件看起来都很有条理,用户在使用应用程序时会感觉很舒服。

语法:-

下面是在 Python Tkinter 中创建分隔符的语法。虽然我们已经提到了所有可用的选项,但是唯一的主参数是在 Python Tkinter 中创建分隔符所需的强制参数。

`ttk.Separator(`
    `master`=ws,
    `orient`=HORIZONTAL,
    `style`='TSeparator',
    `class_`= ttk.Separator,
    `takefocus`= 1,
    `cursor`='plus'    
`)`.pack(fill=X, padx=10, expand=True)

参数描述:-

  • master: 要放置小工具的窗口名。它可以是父窗口或子窗口。

  • orient:[HORIZONTAL | VERTICAL]确保相应地调整几何图形管理器的填充选项值。我们设置了填充=X ,因为方向是水平的。

  • style: 您可以使用 style 自定义分隔符小部件的背景颜色。默认样式是 TSeparator。

  • 您可以在程序中指定您想要继承其属性的类的名称。小部件名称是默认的类名。

  • takefocus: [0 | 1 ]如果 takefocus 设置为 0,那么 separator 小工具不会获得焦点,反之亦然。

  • 光标:鼠标光标的图标每次悬停在分隔符小工具上时都会发生变化。(

  • master: 要放置小工具的窗口名。它可以是父窗口或子窗口。

  • orient:[HORIZONTAL | VERTICAL]确保相应地调整几何图形管理器的填充选项值。我们设置了填充=X ,因为方向是水平的。

  • style: 您可以使用 style 自定义分隔符小部件的背景颜色。默认样式是t 分隔符

  • class_ :您可以在程序中指定您想要继承其属性的类的名称。小部件名称是默认的类名。

  • takefocus: [0 | 1 ]如果 takefocus 设置为 0,那么 separator 小工具不会获得焦点,反之亦然。

  • 光标:鼠标光标的图标每次悬停在分隔符小工具上时都会发生变化。(箭头、圆圈、时钟、十字、点盒、交换、芙蓉、心、人、老鼠、海盗、加号、舒特、上浆、蜘蛛、喷雾罐、星星、目标、tcross、迷航、手表)。

示例:-

在下面的例子中,我们创建了两个分隔符(水平和垂直)。

**# modules**
from tkinter import ttk
from tkinter import *

**# instance of object**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x400')

**# create styling**
styl = ttk.Style()
styl.configure('TSeparator', background='grey')

**# horizontal separator**
ttk.Separator(
    master=ws,
    orient=HORIZONTAL,
    style='TSeparator',
    class_= ttk.Separator,
    takefocus= 1,
    cursor='plus'    
).pack(fill=X, padx=10, expand=True)

**# vertical separator**
ttk.Separator(
    master=ws,
    orient=VERTICAL,
    style='TSeparator',
    class_= ttk.Separator,
    takefocus= 1,
    cursor='man'    
).pack(fill=Y, pady=10, expand=True)

**# infinite loop**
ws.mainloop()

在下面的输出中,您可以看到水平和垂直分隔符是使用 Python Tkinter 创建的。

python tkinter separator

python tkinter separator

阅读: Python Tkinter 标签

Python Tkinter 分隔符网格

Grid 是一个几何管理器,它以行列格式放置小部件。这允许以表格格式组织应用程序小部件。

在我们开始讨论如何在 python Tkinter 中创建分隔符之前,让我们先回顾一下 Python Tkinter 中网格的基本概念:

  • 行是水平网格,列是垂直网格。
  • 网格中的列跨度和行跨度允许合并两个或多个列和行,但这些列必须被创建或占用。如果你已经创建了一个 5 行或 5 列的网格,并且你试图合并更多的行或列,那么它将只占据 5 行或 5 列。
  • Sticky 允许向任何方向拉伸网格。
  • padxpady 在小工具外创建一个空间。
  • ipadxipady 在小工具内创建了一个空间。

使用网格几何管理器中的 ipadxipady 选项,我们可以在 Python Tkinter 中分隔小部件。 ipadx 将用于水平分离器,而 pady 将用于垂直分离器。

示例:-

在下面的示例中,我们演示了如何使用格网几何管理器创建 Python Tkinter Separator 微件。我们还展示了我们尝试过的各种选项,但没有作为评论。

**# modules**
from tkinter import ttk
from tkinter import *

**# create window**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x400')

**# style** 
styl = ttk.Style()
styl.configure('blue.TSeparator', background='blue')
styl.configure('red.TSeparator', background='red')

**# horizontal separator**
ttk.Separator(
    master=ws,
    orient=HORIZONTAL,
    style='blue.TSeparator',
    class_= ttk.Separator,
    takefocus= 1,
    cursor='plus'    
).grid(row=0, column=1, ipadx=200, pady=10)

**# ways that didn't worked**
#).grid(row=1,column=0,columnspan=4, sticky="ew", padx=10, pady=10) 
#).grid(row=0, columnspan=5, sticky=EW)
#).pack(fill=X, padx=10, expand=True)

**# vertical separator**
ttk.Separator(
    master=ws,
    orient=VERTICAL,
    style='red.TSeparator',
    class_= ttk.Separator,
    takefocus= 1,
    cursor='man'    
).grid(row=1, column=1, ipady=200, padx=10, pady=10)

**# infinite loop**
ws.mainloop()

下面是上面代码的输出,这里蓝线代表水平分隔符,而红线代表垂直分隔符。

Python Tkinter Separator Grid

Python Tkinter Separator Grid

阅读: Python Tkinter 画布教程

Python Tkinter 分隔线示例

在本节中,我们将在 Python Tkinter 中创建一个具有 separator 小部件的项目。我们在同一个窗口中创建了注册和登录表单,并使用 Python Tkinter 分隔符将两者分开。

from tkinter import *
from tkinter import ttk

ws = Tk()
ws.geometry('700x400')
ws.title('PythonGuides')

f = ('Helvetica', 14)

Label(
    ws, 
    text='Full name',
    font=f
).place(x=10, y=10)

Entry(ws, font=f).place(x=100, y=10)

Label(
    ws,
    text='Email',
    font=f
).place(x=10, y=40)

Entry(ws, font=f).place(x=100, y=40)

Label(
    ws,
    text='Mobile',
    font=f
).place(x=10, y=70)

Entry(ws, font=f).place(x=100, y=70)

genwin = LabelFrame(
    ws,
    text='Date of birth',
    font=f
)
genwin.place(x=10, y=100)

Radiobutton(
    genwin,
    text='Male',
    value=1,
    font=f
).pack(side=LEFT)

Radiobutton(
    genwin,
    text='Female',
    value=2,
    font=f
).pack(side=LEFT)

Radiobutton(
    genwin,
    text='Others',
    value=3,
    font=f
).pack(side=LEFT)

dobwin = LabelFrame(
    ws,
    text='Gender',
    font=f
)
dobwin.place(x=10, y=170)

ttk.Combobox(
    dobwin,
    values=['01', '02', '03', '04', '05', '06' ],
    width=5,
    font=f
).pack(side=LEFT)

ttk.Combobox(
    dobwin,
    values=['Janaury', 'February', 'March', 'April', 'May', 'June' ],
    width=7,
    font=f
).pack(side=LEFT)

ttk.Combobox(
    dobwin,
    values=['1995', '1996', '1997', '1998', '1999', '2000' ],
    width=5,
    font=f
).pack(side=LEFT)

Checkbutton(
    ws,
    text= 'Accept Terms & Conditions',

).place(x=10, y=240)

Button(
    ws,
    text='Submit',
    command=None,
    font=f,
    width=10
).place(x=10, y=270)

Button(
    ws,
    text='Clear',
    command=None,
    font=f,
    width=10
).place(x=150, y=270)

**ttk.Separator(
    ws,
    takefocus=0,
    orient=VERTICAL
).place(x=350, y=0, relheight=1)**

logwin = LabelFrame(
    ws, 
    text='Login',
    font=f,
    padx=10,
    pady=10
)
logwin.place(x=360, y=10)

Label(
    logwin, 
    text='Email',
    font=f,
    pady=10
).grid(row=0, column=0, sticky='w')

Entry(
    logwin, 
    font=f,
    width=15
    ).grid(row=0, column=1)

Label(
    logwin,
    text='Password',
    font=f
).grid(row=1, column=0)

Entry(
    logwin, 
    font=f,
    width=15
).grid(row=1, column=1)

Button(
    logwin,
    text='Submit',
    command=None,
    font=f
).grid(row=2, column=1, sticky=EW, pady=10)

ws.mainloop()

在下面的输出中,我们使用了 separator 小部件来组织注册和登录部分。

Python Tkinter Separator Line Example

Python Tkinter Separator Line Example

阅读: Python Tkinter 列表框

Python Tkinter 分隔符颜色

Python Tkinter Separator 提供了一个选项 style ,使用它我们可以改变分隔线的颜色。

分隔符小部件样式的默认名称是t 分隔符,但是您可以通过添加一个新名称后跟一个点(.)和旧名称,即 Python Tkinter 中的 TSeparator。

之后,这个新名称可以用来为 Python Tkinter Separator 小部件添加样式。以下是创建新名称的示例:

styl = ttk.Style()
styl.configure('`blue.TSeparator`', background='blue')

在上面的脚本中,蓝色。t operator是创建的名称,背景颜色指定为蓝色。现在让我们看看如何在我们的程序中使用这种风格。

ttk.Separator(
    ws,
    orient=HORIZONTAL,
    **style='blue.TSeparator'**
).pack()

下面是上面代码的输出,这里用 Python Tkinter 创建了一个跨越窗口的蓝色分隔符。

Python Tkinter Separator Color overview

Python Tkinter Separator Color overview

您可以创建多种样式,并在程序中需要时使用它们。下面的示例演示了在 Python Tkinter 分隔符中使用多种颜色。

源代码:

在这段代码中,我们为 Python Tkinter 分隔符创建了多个具有不同背景颜色的样式。更改样式名称将会更改分隔符的颜色。

from tkinter import *
from tkinter import ttk

ws = Tk()
ws.title('PythonGuides')
ws.geometry('300x200+800+200')

styl = ttk.Style()
styl.configure('blue.TSeparator', background='blue')
styl.configure('red.TSeparator', background='red')
styl.configure('green.TSeparator', background='green')
styl.configure('yellow.TSeparator', background='yellow')

ttk.Separator(
    ws,
    orient=HORIZONTAL,
    style='yellow.TSeparator'
).pack(fill=X, expand=True)

ws.mainloop()

输出:

在下面的输出中,我们展示了 Python Tkinter 分隔符的颜色。在 Python Tkinter 中,每次更改样式类型时,颜色都会发生变化。

Python Tkinter Separator Color

Python Tkinter Separator Color

阅读: Python Tkinter 帧

Python Tkinter 分隔符宽度

Python Tkinter 中的 separator 小部件不提供任何改变其宽度的选项,但它提供了 class_ option。这意味着您可以使用创建一个类,然后在这里提供它的名称。

在你定制的类中,你可以执行其他活动,比如给分隔符分配高度、宽度、边框等。

我们认为这种方法是一种变通方法,要获得这方面的帮助,您可以参考下面的网页

Python Tkinter 菜单添加分隔符

Python Tkinter 中的菜单栏用于在 Tkinter 窗口上显示菜单栏。向菜单项添加分隔符会显示相似项的分组。

请注意,这个分隔符不同于我们在整个博客中讨论的分隔符。这一部分是为了给仅在菜单项目之间的菜单栏中使用的部分留出空间。

下图显示了 Python Tkinter 中菜单栏的示例,以及在流行的记事本应用程序中分隔符的使用。

Python Tkinter Menu Add Separator

Python Tkinter Menu Add Separator

可以使用 add_separator() 方法将分隔符添加到菜单栏。

源代码:--

在下面的源代码中,我们创建了一个菜单栏,并在打印设置之前和打印菜单项之后添加了一个分隔符。

**# modules**
from tkinter import *

**# create window**
ws =Tk()
ws.title("Python Guides")
ws.geometry("300x200")

**# create menu**
menubar = Menu(ws) 

**# use menu**
file = Menu(menubar)  

**# add menu items**
file.add_command(label='New')  
file.add_command(label='New Window')  
file.add_command(label='Open...')  
file.add_command(label='Save')    
file.add_command(label='Save As...') 

**# add Separator**
file.add_separator()  
file.add_command(label='Print Setup...') 
file.add_command(label='Print...') 

**# add separator**
file.add_separator()
file.add_command(label='Exit') 
file.add_command(label="Exit", command=ws.quit)  
menubar.add_cascade(label="File", menu=file)  

**# add menu on the screen**
ws.config(menu=menubar)

**# infinite loop**
ws.mainloop()

下面是上面代码的输出,在这里你可以看到 Python Tkinter 中带有分隔符的菜单栏。

Python Tkinter add Separator on menu widget

Python Tkinter add Separator on menu widget

阅读: Python Tkinter 菜单栏

Python Tkinter 帧分隔符

框架是用来在其上存储其他部件的容器部件。分隔符和框架有一个共同点,它们都用来组织窗口上的其他小部件。

因为我们在 Python Tkinter 中有一个分隔符,所以不建议使用框架在 Tkinter 应用程序上执行分隔。但是既然有人问了,我们就告诉你怎么做。

该解决方案只是一种变通方法,使框架看起来和行为像 Python Tkinter 中的分隔符小部件。

源代码:-

在下面的源代码中,我们创建了两个看起来与 Python Tkinter 中的 separator 小部件相同的框架。橙色线是水平线,绿色线是使用 Python Tkinter 中的 frame 小部件创建的垂直线。

from tkinter import *
from tkinter import ttk

ws =Tk()
ws.title('PythonGuides')
ws.geometry('400x300')

**frame = Frame(
    ws,
    bg='orange',
)
frame.pack(fill=X, expand=True)

frame2 = Frame(
    ws, 
    bg='green',
)
frame2.pack(fill=Y, expand=True)**

ws.mainloop()

输出:-

在下面的输出中,您可以看到使用 Python Tkinter 中的 frame 小部件创建了两个分隔符。

Python Tkinter Frame Separator

Python Tkinter Frame Separator

阅读: Python Tkinter Checkbutton

Python Tkinter 垂直分隔符

分隔符可以在窗口的水平和垂直位置对齐。默认位置是水平的。在这一节中,我们将学习如何在 Python Tkinter 中创建一个垂直分隔符。

通过将 orient 值设置为 Vertical,可以创建垂直分隔符。所有的单词都必须大写。如果你想使用小写,那么把它放在引号内(“垂直”)。

应用几何管理器时,请确保在 Python Tkinter 中为不同的几何管理器(打包、网格和放置)应用以下设置:

  • Pack( fill=Y,expand=True ) :-这将在垂直方向拉伸分隔符。
  • Grid( ipady=100 ) :- ipady 在小部件内部垂直创建一个空间。
  • Place( relheight=1 ) :-相对高度将在垂直位置拉伸分离器。

示例:-

在下面的例子中,我们演示了如何使用所有的几何图形管理器创建一个垂直分隔符。因为我们不能在同一个窗口中使用所有的几何图形管理器,这就是为什么我们使用了容器部件框架。

**# modules**
from tkinter import *
from tkinter import ttk

**# create window**
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')

**# frames to store separators with different geometry managers**
frame1 = Frame(ws)
frame1.pack(side=LEFT, expand=True, fill=BOTH)

frame2 = Frame(ws)
frame2.pack(side=LEFT, expand=True, fill=BOTH)

frame3 = Frame(ws)
frame3.pack(side=LEFT, expand=True, fill=BOTH)

**# style to add colors on separators**
styl = ttk.Style()
styl.configure('red.TSeparator', background='red')
styl.configure('blue.TSeparator', background='blue')
styl.configure('yellow.TSeparator', background='yellow')

**# vertical separator with pack geometry manager**
ttk.Separator(
    frame1,
    orient=VERTICAL,
    style='blue.TSeparator'
).pack(fill=Y, expand=True)

**# vertical separator with grid geometry manager**
ttk.Separator(
    frame2,
    orient=VERTICAL,
    style='red.TSeparator'
).grid(row=0, column=0, ipady=200)

**# vertical separator with place geometry manager**
ttk.Separator(
    frame3,
    orient=VERTICAL,
    style='yellow.TSeparator'
).place(x=10, y=0, relheight=1)

**# infinite loop**
ws.mainloop()

下面的输出显示了 Python Tkinter 中的垂直分隔符小部件。每条线是在不同的几何图形管理器上创建的。

Python Tkinter Vertical Separator

Python Tkinter Vertical Separator

另外,看看更多的 Python Tkinter 教程。

在本教程中,我们学习了如何使用 Python Tkinter 分隔符小部件。此外,我们还讨论了以下主题:

  • Python Tkinter 分隔符
  • Python Tkinter 分隔符网格
  • Python Tkinter 分隔符示例
  • Python Tkinter 分隔符颜色
  • Python Tkinter 分隔符宽度
  • Python Tkinter 菜单添加分隔符
  • Python Tkinter 帧分隔符
  • Python Tkinter 垂直分隔符

Bijay Kumar MVPBijay Kumar

Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

enjoysharepoint.com/

posted @ 2024-11-02 15:54  绝不原创的飞龙  阅读(4)  评论(0编辑  收藏  举报