我构建了一个应用程序,该应用程序每分钟获取一次api结果,并使用qabstracttablemodel将其显示在qtableview上。 这是我的一些代码片段。
Info.plist
fetchData函数
"""This program calculates the area of a circle or triangle."""
print "Area Calculator is on."
option = raw_input("Enter C for Circle or T for Triangle: ")
if option == 'C': radius = float(raw_input("Enter the radius: "))
area = 3.14159*radius**2
print "The area of circle with radius %s is %s." % (radius, area)
elif option == 'T':
base = float(rawinput("Enter the base: "))
height = float(rawinput("Enter the height: "))
area2 = .5*base*height
print "The area of triangle with base %s and height %s is %s." % (base, height, area2)
else: print "ERROR"
netRequestFinished插槽
qTimer = new QTimer(this);
connect(qTimer, SIGNAL(timeout()), this, SLOT(fetchData()));
fetchData();
qTimer->start(60000);
updateData函数
QNetworkReply *reply = netManager->get(QNetworkRequest{QUrl{"api url"}});
connect(reply, SIGNAL(finished()), this, SLOT(netRequestFinished()));
当前,每次获取时api结果的所有内容都会更改,因此我需要发出layoutChanged信号。 当我运行该应用程序并且不对tableview采取任何操作时,没有崩溃问题。 但是,如果我频繁触发鼠标单击事件以进行tableview操作,则会完全崩溃。 我想如果在发出layoutChagned信号时单击鼠标会崩溃。
我该怎么做才能解决此问题? 预先感谢。