python制作圆形按钮_Python3 tkinter基础 Radiobutton indicatoron 改变按钮的外观 圆形/方形

我尝试创建一个圆形按钮,但实际上pyqt仍然创建了一个方形按钮.找到的所有示例都创建了方形按钮并在其中放置了圆形图像,但是当我尝试隐藏按钮的背景时仍然失败,我也尝试添加一些悬停功能,但是应该可以用后缀,所以您可以跳过它.我的代码在这里:

```Python

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtWidgets import QAction

from PyQt5.QtGui import QPalette

# from video import VideoWindow

import sys

class HoverButton(QtWidgets.QToolButton):

def __init__(self, parent=None):

super(HoverButton, self).__init__(parent)

self.setMouseTracking(True)

def enterEvent(self,event):

# print("Enter")

self.setStyleSheet('''

border-image: url("images/exit.jpg") 10 10 2 2;

border-top: 10px transparent;

border-bottom: 10px transparent;

border-right: 2px transparent;

border-left: 2px transparent''')

self.setGeometry(QtCore.QRect(1100, 550, 160, 161)) 

def leaveEvent(self,event):</

```

转载自原VIP文:python制作圆形按钮_Python3 tkinter基础 Radiobutton indicatoron 改变按钮的外观 圆形/方形..._weixin_39679664的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/weixin_39679664/article/details/110759138

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python Tkinter中,可以使用`tkinter.ttk`模块创建带有自定义形状的按钮。下面是一个示例代码,演示如何创建一个圆形按钮: ``` import tkinter as tk import tkinter.ttk as ttk class CircleButton(ttk.Frame): def __init__(self, master=None, **kwargs): super().__init__(master, **kwargs) self.button = ttk.Button(self, style='C.TButton') self.button.pack(fill='both', expand=True) self.bind('<Configure>', self._configure) def _configure(self, event): x = self.winfo_width() / 2 y = self.winfo_height() / 2 r = min(x, y) self.button.place(relx=0.5, rely=0.5, anchor='c') self.button.configure(width=int(2 * r), height=int(2 * r), borderwidth=0) root = tk.Tk() style = ttk.Style() style.configure('C.TButton', padding=0, relief='flat', background='white', foreground='black') style.map('C.TButton', background=[('pressed', 'gray')]) circle_button = CircleButton(root, width=100, height=100) circle_button.pack(padx=50, pady=50) root.mainloop() ``` 在这个示例中,我们创建了一个继承于`tkinter.ttk.Frame`的`CircleButton`类,该类包含一个圆形按钮。我们在`__init__`方法中创建了一个`ttk.Button`实例,并设置了它的样式为`C.TButton`,然后将它放置在`CircleButton`实例中心。我们也为`CircleButton`类的实例绑定了`<Configure>`事件,以便在窗口大小调整时重新调整按钮的大小和位置。 接下来,我们使用`ttk.Style`创建了一个名为`C.TButton`的新样式,其中设置了`padding`为0、`relief`为`flat`、背景颜色为白色和前景颜色为黑色。我们还为样式映射定义了一个背景颜色为灰色的按下状态。最后,我们实例化了`CircleButton`类,并将它放置在主窗口中。 运行这个示例代码,你会看到一个圆形按钮。你可以根据需要修改`CircleButton`类的实现来创建不同形状的按钮

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值