示例#1
0
    def onSearch(self, button):
        search_str = builder.get_object("search_string").get_text()
        path_str = builder.get_object("folder_path").get_text()

        stop_button.set_visible(True)
        spinner.set_visible(True)
        spinner.start()
        
        # Create 'shared memory' for both threads, allowing communication (in this case, Searcher -> outputs -> input of SearchWindow)
        grep_output = queue.Queue()

        finishedSearchingEvent = threading.Event()

        # grep_output will be filled by this worker
        self.thread1 = Search.SearchThread(search_str, path_str, grep_output, finishedSearchingEvent)
        self.thread1.start()

        # GUI thread / Read from GREP
        self.thread2 = SearchWindow.WindowThread(grep_output, finishedSearchingEvent)
        self.thread2.start()
示例#2
0
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        #Set Window Title
        self.setWindowTitle('Twitter Program')

        #Create Twitter Object
        self.createTwitterObject()

        #Create Menubar for interface - Add Each Menu
        self.menuBar = QMenuBar()
        self.fileMenu = self.menuBar.addMenu('File')
        self.searchMenu = self.menuBar.addMenu('Search')
        self.managementMenu = self.menuBar.addMenu('Database Management')
        self.suggestedMenu = self.menuBar.addMenu('Suggested Users')
        self.trendsMenu = self.menuBar.addMenu('Display Trends')

        #Add Actions to each Menu
        self.logOutAction = self.fileMenu.addAction('Log Out')
        self.quitAction = self.fileMenu.addAction('Quit')
        self.searchAction = self.searchMenu.addAction('New Search')
        self.tweetAction = self.searchMenu.addAction('Search Users Tweets')
        self.deleteAction = self.managementMenu.addAction('Delete Entries')
        self.modifyAction = self.managementMenu.addAction('Modity Databases')
        self.suggestedAction = self.suggestedMenu.addAction('Display Suggested Users')
        self.trendsAction = self.trendsMenu.addAction('Display Trends')

        #Set Menu Bar
        self.setMenuBar(self.menuBar)

        #Import Layouts
        self.searchInterface = SearchWindow(self.twitter)
        self.tableInterface = TableViewWindow()
        self.tweetSearchInterface = TweetInterface(self.twitter)
        self.deleteInterface = DeleteInterface()
        self.suggestedInterface = SuggestedInterface(self.twitter)

        #Create Layout
        self.layout = QStackedLayout()
        self.layout.addWidget(self.searchInterface.searchWidget)
        self.layout.addWidget(self.tableInterface.tableWidget)
        self.layout.addWidget(self.tweetSearchInterface.tweetsWidget)
        self.layout.addWidget(self.deleteInterface.deleteWidget)
        self.layout.addWidget(self.suggestedInterface.suggUserWidget)

        #Set Main Widget
        self.widget = QWidget()
        self.widget.setLayout(self.layout)
        self.setCentralWidget(self.widget)

        #Add Action Actions
        self.searchAction.triggered.connect(self.newSearch)
        self.tweetAction.triggered.connect(self.tweetSearch)
        self.modifyAction.triggered.connect(self.modifyBookmarks)
        self.deleteAction.triggered.connect(self.deleteBookmarks)
        self.suggestedAction.triggered.connect(self.displaySuggested)
        self.quitAction.triggered.connect(self.quit_)

        #Actions for sub-classes
        self.tableInterface.cancelButton.clicked.connect(self.cancelAction)
        self.deleteInterface.cancelButton.clicked.connect(self.cancelAction)
        self.suggestedInterface.cancelButton.clicked.connect(self.cancelAction)

    def newSearch(self):
        self.searchInterface.createTableModel()
        self.layout.setCurrentWidget(self.searchInterface.searchWidget)
        self.setWindowTitle('Twitter Program')
    def tweetSearch(self):
        self.layout.setCurrentWidget(self.tweetSearchInterface.tweetsWidget)
        self.setWindowTitle('Tweet Search Interface')
    def cancelAction(self):
        self.layout.setCurrentWidget(self.searchInterface.searchWidget)
        self.setWindowTitle('New Search')
    def modifyBookmarks(self):
        self.tableInterface.createTableModel()
        self.layout.setCurrentWidget(self.tableInterface.tableWidget)
        self.setWindowTitle('Modify Database')
    def deleteBookmarks(self):
        self.deleteInterface.createTableModel()
        self.deleteInterface.createDeleteAction()
        self.layout.setCurrentWidget(self.deleteInterface.deleteWidget)
        self.setWindowTitle('Deletion Interface')
    def displaySuggested(self):
        self.layout.setCurrentWidget(self.suggestedInterface.suggUserWidget)
        self.setWindowTitle('Suggested Users')
    def createTwitterObject(self):
        consumer_key = getConsumerKey()
        MY_TWITTER_CREDS = os.path.expanduser('~/.login_credentials')
        if not os.path.exists(MY_TWITTER_CREDS):
            oauth_dance("KurtsApp",'Y4zkic6lw0Hu6uB3sNVH4Q', consumer_key,
                        MY_TWITTER_CREDS)
        oauth_token, oauth_secret = read_token_file(MY_TWITTER_CREDS)
        #Creation of twitter object with authorized detailes.
        self.twitter = Twitter(auth=OAuth(
            oauth_token, oauth_secret, 'Y4zkic6lw0Hu6uB3sNVH4Q', consumer_key))
    def quit_(self):
        window.close()
示例#3
0
    def __init__(self):
        super().__init__()
        #Set Window Title
        self.setWindowTitle('Twitter Program')

        #Create Twitter Object
        self.createTwitterObject()

        #Create Menubar for interface - Add Each Menu
        self.menuBar = QMenuBar()
        self.fileMenu = self.menuBar.addMenu('File')
        self.searchMenu = self.menuBar.addMenu('Search')
        self.managementMenu = self.menuBar.addMenu('Database Management')
        self.suggestedMenu = self.menuBar.addMenu('Suggested Users')
        self.trendsMenu = self.menuBar.addMenu('Display Trends')

        #Add Actions to each Menu
        self.logOutAction = self.fileMenu.addAction('Log Out')
        self.quitAction = self.fileMenu.addAction('Quit')
        self.searchAction = self.searchMenu.addAction('New Search')
        self.tweetAction = self.searchMenu.addAction('Search Users Tweets')
        self.deleteAction = self.managementMenu.addAction('Delete Entries')
        self.modifyAction = self.managementMenu.addAction('Modity Databases')
        self.suggestedAction = self.suggestedMenu.addAction('Display Suggested Users')
        self.trendsAction = self.trendsMenu.addAction('Display Trends')

        #Set Menu Bar
        self.setMenuBar(self.menuBar)

        #Import Layouts
        self.searchInterface = SearchWindow(self.twitter)
        self.tableInterface = TableViewWindow()
        self.tweetSearchInterface = TweetInterface(self.twitter)
        self.deleteInterface = DeleteInterface()
        self.suggestedInterface = SuggestedInterface(self.twitter)

        #Create Layout
        self.layout = QStackedLayout()
        self.layout.addWidget(self.searchInterface.searchWidget)
        self.layout.addWidget(self.tableInterface.tableWidget)
        self.layout.addWidget(self.tweetSearchInterface.tweetsWidget)
        self.layout.addWidget(self.deleteInterface.deleteWidget)
        self.layout.addWidget(self.suggestedInterface.suggUserWidget)

        #Set Main Widget
        self.widget = QWidget()
        self.widget.setLayout(self.layout)
        self.setCentralWidget(self.widget)

        #Add Action Actions
        self.searchAction.triggered.connect(self.newSearch)
        self.tweetAction.triggered.connect(self.tweetSearch)
        self.modifyAction.triggered.connect(self.modifyBookmarks)
        self.deleteAction.triggered.connect(self.deleteBookmarks)
        self.suggestedAction.triggered.connect(self.displaySuggested)
        self.quitAction.triggered.connect(self.quit_)

        #Actions for sub-classes
        self.tableInterface.cancelButton.clicked.connect(self.cancelAction)
        self.deleteInterface.cancelButton.clicked.connect(self.cancelAction)
        self.suggestedInterface.cancelButton.clicked.connect(self.cancelAction)
示例#4
0
                           fg='#ffffff')
newTrailButton.grid(row=2, column=0, columnspan=3, pady=20)
newTrailButton.configure(font=("Times New Roman", 18, "bold"))

# Search
search_box = ScrolledText(root,
                          width=80,
                          height=20,
                          undo=True,
                          autoseparators=True,
                          maxundo=-1)
search_box.grid(row=3, column=0, pady=(10, 3), padx=40, columnspan=2)
search_box.configure(font=("Times New Roman", 18, "bold"))
search_box.bind("<Control-KeyPress>", CtrlKeys.ctrlKeys)
search_box.insert(
    '1.0',
    "( (Trails.setup.Ca > 10) | (Trails.setup.Na > 10) ) & ( (Trails.setup.Na >= 100) | (Trails.setup.fps == 10) )"
)

searchButton = tk.Button(root,
                         text="Search",
                         command=lambda: SearchWindow.search(search_box, wd))
searchButton.grid(row=4, column=0, pady=10, padx=10, columnspan=2)
searchButton.configure(font=("Times New Roman", 18, "bold"))

ctypes.windll.shcore.SetProcessDpiAwareness(1)

root.tk.call('tk', 'scaling', 2.0)

root.mainloop()