小编Ara*_*emi的帖子

将 QTextCursor 移动到最后的问题

我正在尝试在我正在编写的编辑器中实现简单的文本搜索。一切都很好,直到出现这个问题!我正在尝试在这里实现向后搜索。过程是:向后查找主题,如果没有找到,蜂鸣一声,如果再次按下查找按钮,则到文档末尾,重新进行查找。“reachedEnd”是一个 int,定义为编辑器类的私有成员。这是执行向后搜索的函数。

void TextEditor::findPrevPressed() {
    QTextDocument *document = curTextPage()->document();
    QTextCursor    cursor   = curTextPage()->textCursor();

    QString find=findInput->text(), replace=replaceInput->text();


    if (!cursor.isNull()) {
        curTextPage()->setTextCursor(cursor);
        reachedEnd = 0;
    }
    else {
        if(!reachedEnd) {
            QApplication::beep();
            reachedEnd = 1;
        }
        else {
            reachedEnd = 0;
            cursor.movePosition(QTextCursor::End);
            curTextPage()->setTextCursor(cursor);
            findPrevPressed();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是光标没有移动到最后!它返回 False,这意味着失败。这怎么会失败?!!提前致谢。

qt4 qtextdocument

6
推荐指数
1
解决办法
9220
查看次数

C#WPF窗口上的KeyDown事件不起作用

我正在尝试在窗口(不是窗体)中接收按键。我收到事件,直到按下按钮。在那之后,无论我做什么,按下键事件都不再触发。有什么解决办法吗?我已经搜索过了,似乎每个人都在建议一种解决方案,使用

this.KeyPreview = true;
Run Code Online (Sandbox Code Playgroud)

但这在这里不起作用,因为Window没有这样的属性。帮助非常感谢。我已经将所有子项的Focusable设置为False,并且Window设置为可聚焦。但这并没有帮助。

XAML是

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow" Height="463" Width="726" AllowsTransparency="False" PreviewKeyDown="Window_PreviewKeyDown" KeyDown="Window_KeyDown_1" WindowStartupLocation="CenterScreen"  Focusable="True">
    <Window.Background>
        <RadialGradientBrush>
            <GradientStop Color="#FF3EB5FF" Offset="1" />
            <GradientStop Color="White" Offset="0" />
        </RadialGradientBrush>
    </Window.Background>
    <Grid Name="grid1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="434*" />
            <ColumnDefinition Width="270*" />
        </Grid.ColumnDefinitions>
        <Grid Margin="10,10,0,12" Name="EquiGrid"  Focusable="False">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="2*" />
                <ColumnDefinition Width="198*" />
            </Grid.ColumnDefinitions>
            <Image Grid.ColumnSpan="2" Name="EquiImage" Stretch="Uniform" Margin="0,0,0,6" />
            <Grid Grid.Column="1" Height="100" HorizontalAlignment="Left" Margin="489,90,0,0" Name="grid2" VerticalAlignment="Top" Width="200" />
        </Grid>
        <Label Content="Label" Height="28" Margin="14,12,12,0" Name="longLabel" VerticalAlignment="Top" Grid.Column="1" OpacityMask="White" BorderBrush="Red" Focusable="False">
            <Label.Background>
                <LinearGradientBrush …
Run Code Online (Sandbox Code Playgroud)

c# onkeydown

6
推荐指数
1
解决办法
1万
查看次数

SDL2窗口在调整大小时变黑

我已经开始使用SDL2,但对它没有经验。我在Mac系统上工作。几乎一切都很好,但是我有一个问题,当调整可调整大小的窗口的大小,拖动手柄时,窗口会变成黑色,而我只能在释放后重新绘制它。而且我已经检查过,在调整窗口大小时,不会产生任何事件,并且由于事件循环只是暂停,所以我没有办法干预或检测到此情况。有没有可能的解决方案?

这是代码(有关处理调整大小事件的教程的几乎副本):

SDL_Event event;

SDL_Rect nativeSize;
SDL_Rect newWindowSize;

float scaleRatioW;//This is to change anything that might rely on something like mouse coords
float scaleRatioH; //(such as a button on screen) over to the new coordinate system scaling would create

SDL_Window * window; //Our beautiful window
SDL_Renderer * renderer; //The renderer for our window
SDL_Texture * backBuffer; //The back buffer that we will be rendering everything to before scaling up

SDL_Texture * ballImage; //A nice picture to demonstrate the scaling;

bool …
Run Code Online (Sandbox Code Playgroud)

opengl macos sdl-2

4
推荐指数
2
解决办法
1482
查看次数

PyQT 找不到任何 SQL 驱动程序

我正在开发 PyQT 应用程序并希望使用 SQL 数据库。发动机没那么重要。我的系统中安装了一个可用的 MySQL(我经常使用它),并且默认情况下在我的 system32 文件夹中也存在 SQLite3 DLL,并且我还在 qsqlite dll 旁边放置了一个副本。

但当我打电话时

db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
Run Code Online (Sandbox Code Playgroud)

或者

db = QtSql.QSqlDatabase.addDatabase("QMYSQL")
Run Code Online (Sandbox Code Playgroud)

我得到的只是:

QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Run Code Online (Sandbox Code Playgroud)

根本没有驱动程序。我应该怎么办?提前致谢。

qt pyqt

2
推荐指数
1
解决办法
4155
查看次数

标签 统计

c# ×1

macos ×1

onkeydown ×1

opengl ×1

pyqt ×1

qt ×1

qt4 ×1

qtextdocument ×1

sdl-2 ×1