QT的成功提示 messagebox
时间: 2024-05-01 10:04:26 浏览: 192
在QT中,可以通过QMessageBox来弹出成功提示框。示例代码如下:
```cpp
QMessageBox::information(this, "Success", "操作成功!");
```
其中,第一个参数指定了父窗口,一般为this;第二个参数为提示框的标题;第三个参数为提示框的内容。调用该函数即可弹出一个带有“Success”标题和“操作成功!”内容的提示框。
相关问题
def start(): global img, pre_pts try: root = tk.Tk() root.withdraw() f_path = filedialog.askopenfilename() if not f_path: messagebox.showinfo('提示', '请选取有效图片') else: img = cv.imread(f_path) pre_pts = -1, -1 cv.namedWindow('picture', cv.WINDOW_NORMAL) cv.resizeWindow('picture', 256, 256) cv.moveWindow('picture', 600, 300) cv.imshow('picture', img) cv.setMouseCallback('picture', draw) cv.waitKey(0) cv.destroyAllWindows() root.destroy() except Exception as e: print("出现错误:", e) 报错后如何修改可以使下面主界面可以重新点击执行start函数,且这个start函数和主界面不在同一个py文件中:class Faceshow(QMainWindow, Ui_MainWindow): def init(self, parent=None): super(Faceshow, self).init(parent) self.setupUi(self) self.main_button.clicked.connect(start)
你可以将 start 函数放到一个单独的 py 文件中,然后在主界面中引入该文件并调用 start 函数。如果 start 函数出现错误,可以在 except 分支中添加代码,将错误信息显示在界面上,让用户知道发生了什么错误。另外,你可以在 start 函数执行完成后,手动将界面设置为可点击状态,让用户可以再次点击执行该函数。以下是修改后的代码示例:
start.py 文件:
```python
import cv2 as cv
import tkinter as tk
from tkinter import filedialog, messagebox
img = None
pre_pts = None
def draw(event, x, y, flags, param):
global img, pre_pts
if event == cv.EVENT_LBUTTONDOWN:
if pre_pts == (-1, -1):
pre_pts = x, y
else:
cv.rectangle(img, pre_pts, (x, y), (0, 255, 0), 2)
cv.imshow('picture', img)
pre_pts = -1, -1
def start():
global img, pre_pts
try:
root = tk.Tk()
root.withdraw()
f_path = filedialog.askopenfilename()
if not f_path:
messagebox.showinfo('提示', '请选取有效图片')
else:
img = cv.imread(f_path)
pre_pts = -1, -1
cv.namedWindow('picture', cv.WINDOW_NORMAL)
cv.resizeWindow('picture', 256, 256)
cv.moveWindow('picture', 600, 300)
cv.imshow('picture', img)
cv.setMouseCallback('picture', draw)
cv.waitKey(0)
cv.destroyAllWindows()
root.destroy()
return True
except Exception as e:
print("出现错误:", e)
messagebox.showerror('错误', str(e))
return False
```
主界面文件:
```python
from PyQt5.QtWidgets import QMainWindow
from PyQt5.uic import loadUi
from start import start
class Faceshow(QMainWindow):
def __init__(self, parent=None):
super(Faceshow, self).__init__(parent)
loadUi('main.ui', self)
self.main_button.clicked.connect(self.handle_start)
def handle_start(self):
if start():
# 执行成功
self.setEnabled(True)
else:
# 执行失败
self.setEnabled(False)
```
QMessageBox实现OK成功
QMessageBox是一个在Qt库中常用的对话框工具类,用于显示简单的提示、警告或错误信息给用户。如果你想通过它显示一条消息并提供OK按钮让用户确认,你可以按照以下步骤操作:
1. 首先,你需要创建一个QMessageBox实例,指定对话框的类型,比如QMessageBox.Information、QMessageBox.Warning或QMessageBox.Critical等。
```cpp
QMessageBox messageBox(QMessageBox::Information, "标题", "这是一个提示信息");
```
2. 然后设置你想显示的消息文本,可以使用`text()`函数。
```cpp
messageBox.setText("这是一条具体的提示内容");
```
3. 添加一个"确定"(OK)按钮,点击后关闭对话框,你可以使用`exec()`函数来显示对话框,并获取用户的响应(默认是默认选项,也就是OK按钮)。
```cpp
int result = messageBox.exec();
```
如果`result`等于`QMessageBox::Accepted`,那就表示用户点击了OK。
阅读全文