【发布时间】:2013-11-12 07:49:39
【问题描述】:
朋友们,
这里的问题是我想捕获 QTabWidget 的最小化和关闭事件(默认情况下,这个小部件没有任何名为 close 或最小化的插槽)来隐藏小部件。所以用户可以退出应用程序的唯一方法是通过单击托盘图标菜单中的退出..
from PyQt4 import QtCore, QtGui
import sys
class Ui_TabWidget(object):
def setupUi(self, TabWidget):
TabWidget.setObjectName("TabWidget")
TabWidget.resize(400, 300)
self.tab = QtGui.QWidget()
self.tab.setObjectName("tab")
TabWidget.addTab(self.tab, "")
self.tab1 = QtGui.QWidget()
self.tab1.setObjectName("tab1")
TabWidget.addTab(self.tab1, "")
self.retranslateUi(TabWidget)
QtCore.QMetaObject.connectSlotsByName(TabWidget)
def retranslateUi(self, TabWidget):
TabWidget.setWindowTitle(QtGui.QApplication.translate("TabWidget", "TabWidget", None, QtGui.QApplication.UnicodeUTF8))
TabWidget.setTabText(TabWidget.indexOf(self.tab), QtGui.QApplication.translate("TabWidget", "Tab 1", None, QtGui.QApplication.UnicodeUTF8))
TabWidget.setTabText(TabWidget.indexOf(self.tab1), QtGui.QApplication.translate("TabWidget", "Tab 2", None, QtGui.QApplication.UnicodeUTF8))
class Trayicon(QtGui.QSystemTrayIcon):
def __init__(self,parent=None):
QtGui.QSystemTrayIcon.__init__(self,parent)
self.setIcon(QtGui.QIcon("icons/blockattack32.xpm"))
self.show()
self.menu=QtGui.QMenu()
preference=self.menu.addAction("Preferences")
exit=self.menu.addAction("Exit")
self.setContextMenu(self.menu)
self.TabWidget = QtGui.QTabWidget()
ui = Ui_TabWidget()
ui.setupUi(self.TabWidget)
self.connect(exit,QtCore.SIGNAL('triggered()'),self.menuExit)
self.connect(preference,QtCore.SIGNAL('triggered()'),self.showWidget)
def menuExit(self):
app.exit()
def showWidget(self):
self.TabWidget.show()
app = QtGui.QApplication(sys.argv)
cd=Trayicon()
cd.show()
sys.exit(app.exec_())
您的帮助将不胜感激!!!!!!!如果可能的话,你能告诉我任何像这样教我在 Qt 中进行二级编程的教程吗?
【问题讨论】:
-
我不知道我不能免于回答这个问题!