login_button.SetBackgroundColour(wx.TRANSPARENT_BRUSH) TypeError: Window.SetBackgroundColour(): argument 1 has unexpected type 'Brush'怎么解决
时间: 2024-05-04 18:19:55 浏览: 147
这个错误提示表明 `SetBackgroundColour()` 方法的参数类型不正确,应该传入 `wx.Colour` 对象而不是 `wx.Brush` 对象。
解决方法是修改代码,将 `wx.TRANSPARENT_BRUSH` 替换为 `wx.Colour(0, 0, 0, 0)`,代码如下:
```
login_button.SetBackgroundColour(wx.Colour(0, 0, 0, 0))
```
或者使用 `wx.NullColour`:
```
login_button.SetBackgroundColour(wx.NullColour)
```
这样就可以将按钮的背景色设置为透明了。
相关问题
# 创建数字显示框和外框 value_widget = QWidget(self) value_widget.setGeometry(500, 100, 200, 100) self.lcd_1 = QLCDNumber(value_widget) self.lcd_1.setSegmentStyle(QLCDNumber.Flat) self.lcd_1.setDigitCount(10) self.lcd_1.display(0.123456789) hbox_layout = QHBoxLayout(value_widget) hbox_layout.addWidget(self.lcd_1) hbox_layout.setContentsMargins(0, 0, 0, 0) hbox_layout.setSpacing(0) value_widget.setStyleSheet(''' background-color: #eee; border-radius: 10px; border: 2px solid black; ''') # 创建返回按钮 back_button = QPushButton('返回', self) back_button.setGeometry(600, 400, 100, 50) back_button.clicked.connect(self.backToLoginWindow) # 设置窗口大小和标题 self.setFixedSize(800, 500) self.setWindowTitle('员工信息') def backToLoginWindow(self): self.stacked_widget.setCurrentIndex(0) def get_data(self): ser = serial.Serial('COM3', 9600) data = ser.readline() if data: # 将字符串按空格分割,并取第三个元素作为数值 value_str = data.decode().strip().split()[1] value = float(value_str) ser.close() # 将数值设置给 QLabel 控件 self.value_label.setText("数值:" + str(value)) def update_lcd(self): value = self.get_data self.lcd_1.display(value)报错TypeError: arguments did not match any overloaded call: display(self, str: str): argument 1 has unexpected type 'method' display(self, num: float): argument 1 has unexpected type 'method' display(self, num: int): argument 1 has unexpected type 'method'
在 update_lcd 函数中,你调用了 get_data 函数,但是没有加上括号,导致返回的是函数本身而不是函数返回值。你需要修改 update_lcd 函数中的代码,将 get_data 后面的括号加上来,以获取正确的数值。修改后的代码如下:
```
def update_lcd(self):
value = self.get_data()
self.lcd_1.display(value)
```
Traceback (most recent call last): File "D:\360MoveData\Users\15312\Desktop\SQL\t.py", line 184, in delete_data delete_button.clicked.connect(self.delete(new_window)) TypeError: argument 1 has unexpected type 'NoneType'
这个错误是因为 `clicked.connect()` 方法需要传递一个可调用对象作为参数,但是您传递的是 `self.delete(new_window)`,这实际上是调用 `self.delete()` 方法并将其返回值传递给 `clicked.connect()` 方法,因此会报错。正确的写法是将 `self.delete()` 方法本身作为参数传递给 `clicked.connect()` 方法:
```
delete_button.clicked.connect(lambda: self.delete(new_window))
```
这样,当单击 `delete_button` 按钮时,`self.delete()` 方法会被调用,并将 `new_window` 对象作为参数传递给它。
阅读全文