def test_lineedit(self): """test LineEdit """ line = LineEdit() line.show() action1 = QAction( QIcon(line.style().standardPixmap(QStyle.SP_ArrowBack)), "Search", line) menu = QMenu() menu.addAction("Regex") menu.addAction("Wildcard") action1.setMenu(menu) line.setAction(action1, LineEdit.LeftPosition) self.assertIs(line.actionAt(LineEdit.LeftPosition), action1) self.assertTrue(line.button(LineEdit.LeftPosition) is not None) self.assertTrue(line.button(LineEdit.RightPosition) is None) with self.assertRaises(ValueError): line.removeActionAt(100) line.removeActionAt(LineEdit.LeftPosition) self.assertIs(line.actionAt(LineEdit.LeftPosition), None) line.setAction(action1, LineEdit.LeftPosition) action2 = QAction( QIcon(line.style().standardPixmap(QStyle.SP_TitleBarCloseButton)), "Delete", line) line.setAction(action2, LineEdit.RightPosition) line.setPlaceholderText("Search") self.assertEqual(line.placeholderText(), "Search") b = line.button(LineEdit.RightPosition) b.setFlat(False) self.app.exec_()
def beginFinalInit(self): """ @see: startup Notice the __init__ method . we just setup the basic widget. And after the language , style ,plugins etc had loaded . we call this method . Never call it unless you know what's it """ #when at linux platform . the icon is not visible at menu . for key in self.__actions.keys(): self.__actions.get(key).setIconVisibleInMenu(True) #--------------->>Seeking init <<-----------------# # __init__ menu self.getMenu("settings").addAction(self.getAction("perferences")) #i18n , must restart program to make it in use action_languages = QAction( QIcon(getPath('iconDir', 'languages.png')), QApplication.translate("default", "Languages"), self) action_languages.setIconVisibleInMenu(True) menu_languages = QMenu(self) trans_dir = QDir(getPrccisePath("transDir", "", "coredir")) fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files, QDir.Name) qmFiles = [trans_dir.filePath(fn) for fn in fileNames] for qmf in qmFiles: translator = QTranslator() translator.load(qmf) action = menu_languages.addAction( translator.translate("default", "English")) action.triggered.connect(lambda re, locale=translator.translate( "default", "locale"): self.__evt_changeLanguage(locale)) action_languages.setMenu(menu_languages) self.getMenu("settings").addAction(action_languages) #style menu use signalmapper action_style = QAction(QIcon(getPath('iconDir', 'style.png')), QApplication.translate("default", "Style"), self) action_style.setIconVisibleInMenu(True) menu_style = QMenu(self) for style_item in QStyleFactory.keys(): action = menu_style.addAction(style_item) action.triggered.connect( lambda re, style_item=style_item: changeStyle(style_item)) action_style.setMenu(menu_style) self.getMenu("settings").addAction(action_style) menu_plugin = self.getMenu("plugins") menu_plugin.addAction(self.getAction("plguinInfos")) menu_plugin.addSeparator() menu_plugin.addAction(self.getAction("plguinRequest")) #--------------->>Seeking init <<-----------------# # __init__ toolbar toolBar = self.addToolBar(QApplication.translate("default", "common")) toolBar.addAction(self.getAction("perferences")) toolBar.addAction(self.getAction("close")) toolBar.addAction(self.getAction("gotohome")) toolBar.addAction(self.getAction("help")) #--------------->>Seeking init <<-----------------# # __init__ status bar self.statusBar().showMessage("Seeking ...") #--------------->>Seeking init <<-----------------# #Effects of a loading progress . #Results appear in the tab of the interior, the window has no effect on the global self.overlay = Overlay(self.centralWidget()) self.overlay.hide() #--------------->>Seeking init <<-----------------# #other self.emit(SIGNAL('updateWindows()'))
def beginFinalInit(self): """ @see: startup Notice the __init__ method . we just setup the basic widget. And after the language , style ,plugins etc had loaded . we call this method . Never call it unless you know what's it """ #when at linux platform . the icon is not visible at menu . for key in self.__actions.keys(): self.__actions.get(key).setIconVisibleInMenu(True) #--------------->>Seeking init <<-----------------# # __init__ menu self.getMenu("settings").addAction(self.getAction("perferences")) #i18n , must restart program to make it in use action_languages = QAction(QIcon(getPath('iconDir','languages.png')),QApplication.translate("default", "Languages"),self) action_languages.setIconVisibleInMenu(True) menu_languages = QMenu(self) trans_dir = QDir(getPrccisePath("transDir","","coredir")) fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files,QDir.Name) qmFiles = [trans_dir.filePath(fn) for fn in fileNames] for qmf in qmFiles: translator = QTranslator() translator.load(qmf) action = menu_languages.addAction(translator.translate("default", "English")) action.triggered.connect(lambda re,locale=translator.translate("default", "locale"):self.__evt_changeLanguage(locale)) action_languages.setMenu(menu_languages) self.getMenu("settings").addAction(action_languages) #style menu use signalmapper action_style = QAction(QIcon(getPath('iconDir','style.png')),QApplication.translate("default", "Style"),self) action_style.setIconVisibleInMenu(True) menu_style = QMenu(self) for style_item in QStyleFactory.keys(): action = menu_style.addAction(style_item) action.triggered.connect(lambda re,style_item=style_item:changeStyle(style_item)) action_style.setMenu(menu_style) self.getMenu("settings").addAction(action_style) menu_plugin = self.getMenu("plugins") menu_plugin.addAction(self.getAction("plguinInfos")) menu_plugin.addSeparator() menu_plugin.addAction(self.getAction("plguinRequest")) #--------------->>Seeking init <<-----------------# # __init__ toolbar toolBar = self.addToolBar(QApplication.translate("default","common")) toolBar.addAction(self.getAction("perferences")) toolBar.addAction(self.getAction("close")) toolBar.addAction(self.getAction("gotohome")) toolBar.addAction(self.getAction("help")) #--------------->>Seeking init <<-----------------# # __init__ status bar self.statusBar().showMessage("Seeking ...") #--------------->>Seeking init <<-----------------# #Effects of a loading progress . #Results appear in the tab of the interior, the window has no effect on the global self.overlay = Overlay(self.centralWidget()) self.overlay.hide() #--------------->>Seeking init <<-----------------# #other self.emit(SIGNAL('updateWindows()'))