QT:如何将程序生成的文件保存到用户的计算机中

时间:2020-04-15 19:33:59

标签: python pyqt5

我有一个PyQt程序,该程序从用户那里获取文件进行处理,然后相应地创建一个新文件。我希望用户能够将新创建的文件下载/保存到他们的计算机/桌面中...

这是上传代码:

def open_dialog_box(self):
    #To just print the name of file
     filename = QFileDialog.getOpenFileName()
     filename = filename[0]
     basename = os.path.basename(filename)

def pushButton_2_handler(self):
    path = QFileDialog.getOpenFileName()
    path = path[0]
    basename = os.path.basename(path)
    filename, file_extension = os.path.splitext(basename)
    print(path)
    print(filename)
    print(file_extension)
    self.textBrowser_fileSelectedName.clear()
    self.textBrowser_fileSelectedName.append(str(basename))

1 个答案:

答案 0 :(得分:0)

您要使用另一个QFileDialog,但是将使用此def save_file(self): # Open a dialog so that the user can select a target location. dialog = QFileDialog() dialog.setWindowTitle("Select a location to save your file.") dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.exec_() if not dialog.selectedFiles(): # If the user closed the choice window without selecting anything. return else: path_to_file = dialog.selectedFiles()[0] # Create that file and work on it, for example: with open(path_to_file + ".txt") as file: file.write("Hello there!") 来返回用户键入的所选文件夹/自定义名称。

        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged ( SeekBar seekBar, int progress, boolean fromUser )
            {
                // Do nothing?
            }

            @Override
            public void onStartTrackingTouch ( SeekBar seekBar )
            {
                // TODO: Do we need to handle this in any way? (perhaps stop the updateProgress event?)
            }

            @Override
            public void onStopTrackingTouch ( SeekBar seekBar )
            {
                if (!seekingEnabled)
                    return;

                // Handle seek
                player.seekTo(seekBar.getProgress());
            }
        });
相关问题